From 345c4a06774ac93cf6707d5985cfed3650d74798 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 23 Jan 2025 22:16:18 -1000 Subject: [PATCH] Ensure a single bad message does not cause a thread exception --- wsdiscovery/threaded.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/wsdiscovery/threaded.py b/wsdiscovery/threaded.py index 0b309e5..40691b4 100644 --- a/wsdiscovery/threaded.py +++ b/wsdiscovery/threaded.py @@ -195,7 +195,11 @@ def _recvMessages(self): time.sleep(0.01) continue - env = parseSOAPMessage(data, addr[0]) + try: + env = parseSOAPMessage(data, addr[0]) + except Exception as e: + logger.debug("Failed to parse message from %s\n%s: %s", addr[0], data, e, exc_info=True) + env = None if env is None: # fault or failed to parse if self._capture: