diff options
author | Guy Harris <guy@alum.mit.edu> | 2015-07-04 18:45:11 -0700 |
---|---|---|
committer | Francois-Xavier Le Bail <fx.lebail@yahoo.com> | 2017-01-18 09:16:37 +0100 |
commit | 406b0e3e9293a545c831ee9ed1558c3a5f5bd60d (patch) | |
tree | 74a8426ef4476bddc7977894065fd80e1e7007c5 /print-ip6.c | |
parent | a7be3fdba438f8ea80586d2a00b23fb9a96d602c (diff) | |
download | tcpdump-406b0e3e9293a545c831ee9ed1558c3a5f5bd60d.tar.gz |
Stop processing IPPROTO_ values once we hit IPPROTO_IPCOMP.
It's not like, for example, AH or ESP, where, following the header for
that protocol, there's another protocol with its own payload.
Diffstat (limited to 'print-ip6.c')
-rw-r--r-- | print-ip6.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/print-ip6.c b/print-ip6.c index c5811300..2e1803f0 100644 --- a/print-ip6.c +++ b/print-ip6.c @@ -353,9 +353,14 @@ ip6_print(netdissect_options *ndo, const u_char *bp, u_int length) } case IPPROTO_IPCOMP: { - int enh; - advance = ipcomp_print(ndo, cp, &enh); - nh = enh & 0xff; + ipcomp_print(ndo, cp); + /* + * Either this has decompressed the payload and + * printed it, in which case there's nothing more + * to do, or it hasn't, in which case there's + * nothing more to do. + */ + advance = -1; break; } |