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>
This commit is contained in:
parent
5855dd8d53
commit
c8c9917f81
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue