diff options
author | João Valverde <joao.valverde@tecnico.ulisboa.pt> | 2017-08-30 15:14:29 +0100 |
---|---|---|
committer | João Valverde <j@v6e.pt> | 2017-08-30 15:30:28 +0000 |
commit | 71697c5dab92e5be15180c6fb4420fd847e1e539 (patch) | |
tree | fd3b03aa971e6382a02cb327e12201aa52855ac8 /epan/dissectors/packet-ipsec.c | |
parent | 324658271690d7ce4482e039a205ddaca3e1d18c (diff) |
IPv6: Move duplicate code to update IPv6 dissection state to a function
Also make sure to protect ipv6_pinfo access with NULL checks.
Change-Id: I9495421c6bf970cb7eaa0415aa1af7effd3e7c79
Reviewed-on: https://code.wireshark.org/review/23309
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
Diffstat (limited to 'epan/dissectors/packet-ipsec.c')
-rw-r--r-- | epan/dissectors/packet-ipsec.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/epan/dissectors/packet-ipsec.c b/epan/dissectors/packet-ipsec.c index 24be677afb..790454b5b3 100644 --- a/epan/dissectors/packet-ipsec.c +++ b/epan/dissectors/packet-ipsec.c @@ -1130,15 +1130,7 @@ dissect_ah(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data) ah_icv_len = ah_len ? (ah_len - 1) * 4 : 0; root_tree = tree; - if (pinfo->dst.type == AT_IPv6) { - ipv6_pinfo_t *ipv6_pinfo = p_get_ipv6_pinfo(pinfo); - - ipv6_pinfo->frag_plen -= ah_hdr_len; - if (ipv6_pinfo->ipv6_tree != NULL) { - root_tree = ipv6_pinfo->ipv6_tree; - ipv6_pinfo->ipv6_item_len += ah_hdr_len; - } - } + p_update_ipv6_pinfo(pinfo, &root_tree, ah_hdr_len); pi = proto_tree_add_item(root_tree, proto_ah, tvb, 0, -1, ENC_NA); ah_tree = proto_item_add_subtree(pi, ett_ah); |