diff --git a/src/clusterfuzz/_internal/base/utils.py b/src/clusterfuzz/_internal/base/utils.py index 55b208d7fb..43a972c851 100644 --- a/src/clusterfuzz/_internal/base/utils.py +++ b/src/clusterfuzz/_internal/base/utils.py @@ -103,7 +103,7 @@ def decode_to_unicode(obj): if not hasattr(obj, 'decode'): return obj - return obj.decode('utf-8', errors='ignore') + return obj.decode('utf-8', errors='replace') def encode_as_unicode(obj): diff --git a/src/clusterfuzz/_internal/bot/tasks/utasks/fuzz_task.py b/src/clusterfuzz/_internal/bot/tasks/utasks/fuzz_task.py index 419590bc59..e3e585c38f 100644 --- a/src/clusterfuzz/_internal/bot/tasks/utasks/fuzz_task.py +++ b/src/clusterfuzz/_internal/bot/tasks/utasks/fuzz_task.py @@ -760,6 +760,9 @@ def add_additional_testcase_run_data(testcase_run, fully_qualified_fuzzer_name, def get_fuzzer_metadata_from_output(fuzzer_output): """Extract metadata from fuzzer output.""" metadata = {} + fuzzer_output = fuzzer_output.replace( + '\r', '').replace('\x85', '').replace( + '\u2028', '').replace('\u2029', '') for line in fuzzer_output.splitlines(): match = FUZZER_METADATA_REGEX.match(line) if match: