From 4cba4f9ff217abb08f73e181af1a876304804836 Mon Sep 17 00:00:00 2001 From: evilsocket Date: Sat, 7 Sep 2019 18:11:15 +0200 Subject: [PATCH] fix: handling panics while decoding packets (fixes #612) --- modules/net_sniff/net_sniff_parsers.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/net_sniff/net_sniff_parsers.go b/modules/net_sniff/net_sniff_parsers.go index 1a6f71a6..cae477ba 100644 --- a/modules/net_sniff/net_sniff_parsers.go +++ b/modules/net_sniff/net_sniff_parsers.go @@ -32,6 +32,12 @@ func onUNK(ip *layers.IPv4, pkt gopacket.Packet, verbose bool) { } func mainParser(pkt gopacket.Packet, verbose bool) bool { + defer func() { + if err := recover(); err != nil { + log.Warning("error while parsing packet: %v", err) + } + }() + // simple networking sniffing mode? nlayer := pkt.NetworkLayer() if nlayer != nil {