diff --git a/contrib/process_linux_firmware.py b/contrib/process_linux_firmware.py index 2b7c7f8d..ab005ee7 100755 --- a/contrib/process_linux_firmware.py +++ b/contrib/process_linux_firmware.py @@ -44,11 +44,15 @@ def classify_content(content): for part in msg.walk(): if part.get_content_type() == "text/plain": - body = part.get_payload(decode=True).decode("utf-8") - for key in content_types.keys(): - if key in body: - return content_types[key] - break + try: + body = part.get_payload(decode=True).decode("utf-8") + for key in content_types.keys(): + if key in body: + return content_types[key] + break + except UnicodeDecodeError as e: + logging.warning("Failed to decode email: %s, treating as SPAM" % e) + break return ContentType.SPAM