aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2010-08-12 06:26:21 +0000
committerStig Bjørlykke <stig@bjorlykke.org>2010-08-12 06:26:21 +0000
commitdfb24f48d81728d8fc89cac763edc5d8681ef953 (patch)
tree54eb772d492f6f801bb2c0fb86c3dac96b349ef7 /epan/dissectors
parentf6f6cb8e8f275250f789d8fa6f18566f57834594 (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.c2
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) {