aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2005-07-03 00:52:08 +0000
committerGuy Harris <guy@alum.mit.edu>2005-07-03 00:52:08 +0000
commit8b8f22ec945895f63d94c5fd763926e37b82c23b (patch)
treee95d06d542a68ea2990077673ddc71bc635ef84a
parent3b62802faa4bdfd6cedfb5656afa09187ca6d717 (diff)
Note that the MPLS extension dissector will misdissect ICMP packets that
contain more than 128 bytes of the original datagram. (Yes, RFC 1812 and the ICMP Extensions for MPLS draft collide here, as the draft in question notes.) svn path=/trunk/; revision=14834
-rw-r--r--epan/dissectors/packet-ip.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/epan/dissectors/packet-ip.c b/epan/dissectors/packet-ip.c
index 5800c97890..53d59f5b4f 100644
--- a/epan/dissectors/packet-ip.c
+++ b/epan/dissectors/packet-ip.c
@@ -1849,6 +1849,10 @@ dissect_icmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
pinfo->in_error_pkt = save_in_error_pkt;
/* MPLS extensions */
+ /* XXX - this doesn't handle ICMP packets with more than
+ 128 bytes of the original datagram, which RFC 1812 doesn't
+ disallow. Make whether to handle MPLS extensions a
+ preference setting? */
if (tvb_reported_length(tvb) > 8 + 128)
dissect_mpls_extensions(tvb, 8 + 128, icmp_tree);