diff options
Diffstat (limited to 'usr.sbin/tcpdump/print-gre.c')
| -rw-r--r-- | usr.sbin/tcpdump/print-gre.c | 5 |
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; |
