From 2f481d0b86d7f80a151e22aa89f7d3efc6e16a9f Mon Sep 17 00:00:00 2001 From: john-corcoran <24858700+john-corcoran@users.noreply.github.com> Date: Fri, 10 Jun 2022 15:39:50 +0100 Subject: [PATCH] UnicodeDecodeError caught for json_loads --- splunklib/results.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/splunklib/results.py b/splunklib/results.py index 8543ab0d..1824b89e 100644 --- a/splunklib/results.py +++ b/splunklib/results.py @@ -358,7 +358,12 @@ def _parse_results(self, stream): for line in stream.readlines(): strip_line = line.strip() if strip_line.__len__() == 0: continue - parsed_line = json_loads(strip_line) + try: + parsed_line = json_loads(strip_line) + except UnicodeDecodeError: + # If UnicodeDecodeError is encountered, ignoring decode errors should ensure the + # line can be loaded; may be beneficial to raise a warning at this point. + parsed_line = json_loads(strip_line.decode(encoding="utf-8", errors="ignore")) if "preview" in parsed_line: self.is_preview = parsed_line["preview"] if "messages" in parsed_line and parsed_line["messages"].__len__() > 0: