aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcmaynard <cmaynard@f5534014-38df-0310-8fa8-9805f1628bb7>2011-12-03 04:07:20 +0000
committercmaynard <cmaynard@f5534014-38df-0310-8fa8-9805f1628bb7>2011-12-03 04:07:20 +0000
commitf390b6e0ff4860522e87d008bba65da44dee4ac9 (patch)
treee09ba16b82e2bee38e749ce6a97a521d75cb9c57
parent5d34a0856b94331c95e9d0aa5aa7384825c90a9f (diff)
If a type 2 Mobile IP routing header is present, only set pinfo->dst if seg_left is non-zero. Fixes https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6560
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@40076 f5534014-38df-0310-8fa8-9805f1628bb7
-rw-r--r--epan/dissectors/packet-ipv6.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/epan/dissectors/packet-ipv6.c b/epan/dissectors/packet-ipv6.c
index c8e5f163b1..b12459f274 100644
--- a/epan/dissectors/packet-ipv6.c
+++ b/epan/dissectors/packet-ipv6.c
@@ -620,7 +620,8 @@ dissect_routing6(tvbuff_t *tvb, int offset, proto_tree *tree, packet_info *pinfo
if (rt.ip6r_type == IPv6_RT_HEADER_MobileIP) {
proto_tree_add_item(rthdr_tree, hf_ipv6_mipv6_home_address, tvb,
offset + 8, 16, ENC_NA);
- SET_ADDRESS(&pinfo->dst, AT_IPv6, 16, tvb_get_ptr(tvb, offset + 8, 16));
+ if (seg_left)
+ SET_ADDRESS(&pinfo->dst, AT_IPv6, 16, tvb_get_ptr(tvb, offset + 8, 16));
}
if (rt.ip6r_type == IPv6_RT_HEADER_RPL) {
guint8 cmprI;