diff options
author | Stig Bjørlykke <stig@bjorlykke.org> | 2010-08-12 06:26:21 +0000 |
---|---|---|
committer | Stig Bjørlykke <stig@bjorlykke.org> | 2010-08-12 06:26:21 +0000 |
commit | dfb24f48d81728d8fc89cac763edc5d8681ef953 (patch) | |
tree | 54eb772d492f6f801bb2c0fb86c3dac96b349ef7 /epan/dissectors | |
parent | f6f6cb8e8f275250f789d8fa6f18566f57834594 (diff) |
From Chris Maynard via bug 5105:
IP should not compute the header checksum if within an error packet
such as ICMP.
svn path=/trunk/; revision=33780
Diffstat (limited to 'epan/dissectors')
-rw-r--r-- | epan/dissectors/packet-ip.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/epan/dissectors/packet-ip.c b/epan/dissectors/packet-ip.c index 4946dca965..019c70927e 100644 --- a/epan/dissectors/packet-ip.c +++ b/epan/dissectors/packet-ip.c @@ -1502,7 +1502,7 @@ dissect_ip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) /* * If we have the entire IP header available, check the checksum. */ - if (ip_check_checksum && tvb_bytes_exist(tvb, offset, hlen)) { + if (ip_check_checksum && tvb_bytes_exist(tvb, offset, hlen) && !pinfo->in_error_pkt) { ipsum = ip_checksum(tvb_get_ptr(tvb, offset, hlen), hlen); if (tree) { if (ipsum == 0) { |