diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2015-01-11 15:35:08 +0100 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2015-01-11 19:12:43 +0000 |
commit | c8c9917f81a469e866e07448bee39732556df701 (patch) | |
tree | 056125b794b565c25464ae029bced627591dd9e0 | |
parent | 5855dd8d538eb81d4825961b1bf0d583bf96f751 (diff) | |
download | wireshark-c8c9917f81a469e866e07448bee39732556df701.tar.gz |
Fix some more regressions introduced in gecaa1f8
Convert one other set of static variables to pinfo scoped memory while we are at it
Change-Id: If550b76ef6a4dd2707d79de8579ac439d16dce79
Reviewed-on: https://code.wireshark.org/review/6490
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
-rw-r--r-- | epan/dissectors/packet-atalk.c | 57 | ||||
-rw-r--r-- | epan/dissectors/packet-sna.c | 12 |
2 files changed, 33 insertions, 36 deletions
diff --git a/epan/dissectors/packet-atalk.c b/epan/dissectors/packet-atalk.c index 7b873cdad1..a2b3709aaa 100644 --- a/epan/dissectors/packet-atalk.c +++ b/epan/dissectors/packet-atalk.c @@ -1371,14 +1371,15 @@ static void dissect_ddp_short(tvbuff_t *tvb, packet_info *pinfo, guint8 dnode, guint8 snode, proto_tree *tree) { - guint16 len; - guint8 dport; - guint8 sport; - guint8 type; - proto_tree *ddp_tree = NULL; - proto_item *ti, *hidden_item; - static struct atalk_ddp_addr src, dst; - tvbuff_t *new_tvb; + guint16 len; + guint8 dport; + guint8 sport; + guint8 type; + proto_tree *ddp_tree = NULL; + proto_item *ti, *hidden_item; + struct atalk_ddp_addr *src = wmem_new(pinfo->pool, struct atalk_ddp_addr), + *dst = wmem_new(pinfo->pool, struct atalk_ddp_addr); + tvbuff_t *new_tvb; col_set_str(pinfo->cinfo, COL_PROTOCOL, "DDP"); col_clear(pinfo->cinfo, COL_INFO); @@ -1399,14 +1400,14 @@ dissect_ddp_short(tvbuff_t *tvb, packet_info *pinfo, guint8 dnode, proto_tree_add_uint(ddp_tree, hf_ddp_src_socket, tvb, 3, 1, sport); type = tvb_get_guint8(tvb, 4); - src.net = 0; - src.node = snode; - dst.net = 0; - dst.node = dnode; - SET_ADDRESS(&pinfo->net_src, AT_ATALK, sizeof src, (guint8 *)&src); - SET_ADDRESS(&pinfo->src, AT_ATALK, sizeof src, (guint8 *)&src); - SET_ADDRESS(&pinfo->net_dst, AT_ATALK, sizeof dst, (guint8 *)&dst); - SET_ADDRESS(&pinfo->dst, AT_ATALK, sizeof dst, (guint8 *)&dst); + src->net = 0; + src->node = snode; + dst->net = 0; + dst->node = dnode; + SET_ADDRESS(&pinfo->net_src, AT_ATALK, sizeof(struct atalk_ddp_addr), src); + SET_ADDRESS(&pinfo->src, AT_ATALK, sizeof(struct atalk_ddp_addr), src); + SET_ADDRESS(&pinfo->net_dst, AT_ATALK, sizeof(struct atalk_ddp_addr), dst); + SET_ADDRESS(&pinfo->dst, AT_ATALK, sizeof(struct atalk_ddp_addr), dst); pinfo->ptype = PT_DDP; pinfo->destport = dport; @@ -1417,10 +1418,10 @@ dissect_ddp_short(tvbuff_t *tvb, packet_info *pinfo, guint8 dnode, if (tree) { hidden_item = proto_tree_add_string(ddp_tree, hf_ddp_src, tvb, - 4, 3, atalk_addr_to_str(&src)); + 4, 3, atalk_addr_to_str(src)); PROTO_ITEM_SET_HIDDEN(hidden_item); hidden_item = proto_tree_add_string(ddp_tree, hf_ddp_dst, tvb, - 6, 3, atalk_addr_to_str(&dst)); + 6, 3, atalk_addr_to_str(dst)); PROTO_ITEM_SET_HIDDEN(hidden_item); proto_tree_add_uint(ddp_tree, hf_ddp_type, tvb, 4, 1, type); @@ -1434,12 +1435,12 @@ dissect_ddp_short(tvbuff_t *tvb, packet_info *pinfo, guint8 dnode, static void dissect_ddp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - e_ddp ddp; - proto_tree *ddp_tree; - proto_item *ti, *hidden_item; - struct atalk_ddp_addr *src = wmem_new(pinfo->pool, struct atalk_ddp_addr), - *dst = wmem_new(pinfo->pool, struct atalk_ddp_addr); - tvbuff_t *new_tvb; + e_ddp ddp; + proto_tree *ddp_tree; + proto_item *ti, *hidden_item; + struct atalk_ddp_addr *src = wmem_new(pinfo->pool, struct atalk_ddp_addr), + *dst = wmem_new(pinfo->pool, struct atalk_ddp_addr); + tvbuff_t *new_tvb; col_set_str(pinfo->cinfo, COL_PROTOCOL, "DDP"); col_clear(pinfo->cinfo, COL_INFO); @@ -1454,10 +1455,10 @@ dissect_ddp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) src->node = ddp.snode; dst->net = ddp.dnet; dst->node = ddp.dnode; - SET_ADDRESS(&pinfo->net_src, AT_ATALK, sizeof src, src); - SET_ADDRESS(&pinfo->src, AT_ATALK, sizeof src, src); - SET_ADDRESS(&pinfo->net_dst, AT_ATALK, sizeof dst, dst); - SET_ADDRESS(&pinfo->dst, AT_ATALK, sizeof dst, dst); + SET_ADDRESS(&pinfo->net_src, AT_ATALK, sizeof(struct atalk_ddp_addr), src); + SET_ADDRESS(&pinfo->src, AT_ATALK, sizeof(struct atalk_ddp_addr), src); + SET_ADDRESS(&pinfo->net_dst, AT_ATALK, sizeof(struct atalk_ddp_addr), dst); + SET_ADDRESS(&pinfo->dst, AT_ATALK, sizeof(struct atalk_ddp_addr), dst); pinfo->ptype = PT_DDP; pinfo->destport = ddp.dport; diff --git a/epan/dissectors/packet-sna.c b/epan/dissectors/packet-sna.c index 09ba02c6e6..aecad883ab 100644 --- a/epan/dissectors/packet-sna.c +++ b/epan/dissectors/packet-sna.c @@ -1918,10 +1918,8 @@ dissect_fid4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) dst = wmem_new(pinfo->pool, struct sna_fid_type_4_addr); dst->saf = dsaf; dst->ef = def; - SET_ADDRESS(&pinfo->net_dst, AT_SNA, SNA_FID_TYPE_4_ADDR_LEN, - (guint8* )&dst); - SET_ADDRESS(&pinfo->dst, AT_SNA, SNA_FID_TYPE_4_ADDR_LEN, - (guint8 *)&dst); + SET_ADDRESS(&pinfo->net_dst, AT_SNA, SNA_FID_TYPE_4_ADDR_LEN, dst); + SET_ADDRESS(&pinfo->dst, AT_SNA, SNA_FID_TYPE_4_ADDR_LEN, dst); oef = tvb_get_ntohs(tvb, 20); proto_tree_add_uint(tree, hf_sna_th_oef, tvb, offset+2, 2, oef); @@ -1930,10 +1928,8 @@ dissect_fid4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) src = wmem_new(pinfo->pool, struct sna_fid_type_4_addr); src->saf = osaf; src->ef = oef; - SET_ADDRESS(&pinfo->net_src, AT_SNA, SNA_FID_TYPE_4_ADDR_LEN, - (guint8 *)&src); - SET_ADDRESS(&pinfo->src, AT_SNA, SNA_FID_TYPE_4_ADDR_LEN, - (guint8 *)&src); + SET_ADDRESS(&pinfo->net_src, AT_SNA, SNA_FID_TYPE_4_ADDR_LEN, src); + SET_ADDRESS(&pinfo->src, AT_SNA, SNA_FID_TYPE_4_ADDR_LEN, src); proto_tree_add_item(tree, hf_sna_th_snf, tvb, offset+4, 2, ENC_BIG_ENDIAN); proto_tree_add_item(tree, hf_sna_th_dcf, tvb, offset+6, 2, ENC_BIG_ENDIAN); |