aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-mip.c
diff options
context:
space:
mode:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2009-10-09 07:24:33 +0000
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2009-10-09 07:24:33 +0000
commitf53596396116d9cfb0f062c7c7704b36674483f0 (patch)
tree042347d5d4c01107ff02979c33de22a372f7ff69 /epan/dissectors/packet-mip.c
parent5f7191b2fc53f43a80f66a73847e404f05e0f3a8 (diff)
From Didier Gautheron:
Dissectors using call_dissector() function inside a 'if (tree) {}' block. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4107 git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@30415 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-mip.c')
-rw-r--r--epan/dissectors/packet-mip.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/epan/dissectors/packet-mip.c b/epan/dissectors/packet-mip.c
index ca1d61487b..b30a090ff8 100644
--- a/epan/dissectors/packet-mip.c
+++ b/epan/dissectors/packet-mip.c
@@ -696,12 +696,14 @@ dissect_mip( tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* reserved */
proto_tree_add_item(mip_tree, hf_mip_nattt_reserved, tvb, offset, 2, FALSE);
offset += 2;
-
- /* encapsulated payload */
- next_tvb = tvb_new_subset_remaining(tvb, 4);
- call_dissector(ip_handle, next_tvb, pinfo, mip_tree);
- offset += tvb_reported_length_remaining(tvb, offset);
} /* if tree */
+ else {
+ offset += 4;
+ }
+ /* encapsulated payload */
+ next_tvb = tvb_new_subset_remaining(tvb, 4);
+ call_dissector(ip_handle, next_tvb, pinfo, mip_tree);
+ offset += tvb_reported_length_remaining(tvb, offset);
break;
case REGISTRATION_REVOCATION:
if (check_col(pinfo->cinfo, COL_INFO))