From b8c7d3edb63ae39c8f3aa41839786ebbab100ffc Mon Sep 17 00:00:00 2001
From: Pierre LALET <pierre.lalet@cea.fr>
Date: Thu, 10 Aug 2017 21:16:05 +0200
Subject: [PATCH] Linux/sniff: warn instead of crash when we fail to create a
 valid filter

---
 scapy/arch/linux.py | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/scapy/arch/linux.py b/scapy/arch/linux.py
index 30cdb416..9ad10235 100644
--- a/scapy/arch/linux.py
+++ b/scapy/arch/linux.py
@@ -139,12 +139,17 @@ def attach_filter(s, bpf_filter, iface):
             conf.iface if iface is None else iface,
             bpf_filter,
         ))
-    except OSError as msg:
-        log_interactive.warning("Failed to execute tcpdump: (%s)")
+    except OSError:
+        log_interactive.warning("Failed to attach filter.",
+                                exc_info=True)
         return
     lines = f.readlines()
-    if f.close():
-        raise Scapy_Exception("Filter parse error")
+    ret = f.close()
+    if ret:
+        log_interactive.warning(
+            "Failed to attach filter: tcpdump returned %d", ret
+        )
+        return
     nb = int(lines[0])
     bpf = ""
     for l in lines[1:]:
-- 
GitLab