Blob Blame History Raw
From d3110859064b15408dbca1294dc7e31c2208504d Mon Sep 17 00:00:00 2001
From: Gabriel Ganne <gabriel.ganne@gmail.com>
Date: Mon, 3 Aug 2020 08:26:38 +0200
Subject: [PATCH] fix heap-buffer-overflow when DLT_JUNIPER_ETHER

The test logic on datalen was inverted.

Processing truncated packats should now raise a warning like the
following:
  Warning: <pcap> was captured using a snaplen of 4 bytes.  This may mean you have truncated packets.

Fixes #616 #617

Signed-off-by: Gabriel Ganne <gabriel.ganne@gmail.com>
---
 src/common/get.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/common/get.c b/src/common/get.c
index f9ee92d3..0517bf0a 100644
--- a/src/common/get.c
+++ b/src/common/get.c
@@ -178,7 +178,7 @@ get_l2len(const u_char *pktdata, const int datalen, const int datalink)
         break;
 
     case DLT_JUNIPER_ETHER:
-        if (datalen >= 5) {
+        if (datalen < 5) {
             l2_len = -1;
             break;
         }