summaryrefslogtreecommitdiffstats
path: root/usr.sbin/tcpdump/print-gre.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/tcpdump/print-gre.c')
-rw-r--r--usr.sbin/tcpdump/print-gre.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.sbin/tcpdump/print-gre.c b/usr.sbin/tcpdump/print-gre.c
index 58122443ed4..726d8be1b24 100644
--- a/usr.sbin/tcpdump/print-gre.c
+++ b/usr.sbin/tcpdump/print-gre.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: print-gre.c,v 1.10 2015/11/05 11:52:24 jca Exp $ */
+/* $OpenBSD: print-gre.c,v 1.11 2015/11/05 11:55:21 jca Exp $ */
/*
* Copyright (c) 2002 Jason L. Wright (jason@thought.net)
@@ -73,6 +73,9 @@ gre_print(const u_char *bp, u_int length)
{
u_int len = length, vers;
+ if (bp + len > snapend)
+ len = snapend - bp;
+
if (len < 2) {
printf("[|gre]");
return;