aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2015-02-26 22:03:12 -0500
committerMichael Mann <mmann78@netscape.net>2015-03-01 12:54:33 +0000
commit9c55903029ee0e6720597ef07e8a5b359cae068e (patch)
tree251dddfa5de23777e225e128529b00a7a0143b76 /epan
parent5f2c8e9575eb6afb6c645d43a015cff035fcbeb0 (diff)
Use COPY_ADDRESS_SHALLOW instead of duplicating TVB_SET_ADDRESS and SET_ADDRESS calls for the same address.
Change-Id: I0c9cc5d574fdd73ecf1f8b32dbbf0ddb2b885116 Reviewed-on: https://code.wireshark.org/review/7437 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-ap1394.c4
-rw-r--r--epan/dissectors/packet-arcnet.c4
-rw-r--r--epan/dissectors/packet-atalk.c8
-rw-r--r--epan/dissectors/packet-ax25.c4
-rw-r--r--epan/dissectors/packet-batadv.c32
-rw-r--r--epan/dissectors/packet-btbnep.c4
-rw-r--r--epan/dissectors/packet-btle.c48
-rw-r--r--epan/dissectors/packet-catapult-dct2000.c12
-rw-r--r--epan/dissectors/packet-clnp.c4
-rw-r--r--epan/dissectors/packet-eth.c8
-rw-r--r--epan/dissectors/packet-exported_pdu.c8
-rw-r--r--epan/dissectors/packet-fddi.c12
-rw-r--r--epan/dissectors/packet-ieee802154.c16
-rw-r--r--epan/dissectors/packet-ip.c8
-rw-r--r--epan/dissectors/packet-ipv6.c4
-rw-r--r--epan/dissectors/packet-ipx.c8
-rw-r--r--epan/dissectors/packet-mstp.c4
-rw-r--r--epan/dissectors/packet-sll.c4
-rw-r--r--epan/dissectors/packet-smpp.c8
-rw-r--r--epan/dissectors/packet-sna.c12
-rw-r--r--epan/dissectors/packet-tcp.c4
-rw-r--r--epan/dissectors/packet-tr.c6
-rw-r--r--epan/dissectors/packet-usb.c5
-rw-r--r--epan/dissectors/packet-vines.c4
-rw-r--r--epan/dissectors/packet-zbee-nwk.c4
25 files changed, 112 insertions, 123 deletions
diff --git a/epan/dissectors/packet-ap1394.c b/epan/dissectors/packet-ap1394.c
index eaa2483a9e..e8845674cc 100644
--- a/epan/dissectors/packet-ap1394.c
+++ b/epan/dissectors/packet-ap1394.c
@@ -73,9 +73,9 @@ dissect_ap1394(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
col_clear(pinfo->cinfo, COL_INFO);
TVB_SET_ADDRESS(&pinfo->dl_src, AT_EUI64, tvb, 8, 8);
- TVB_SET_ADDRESS(&pinfo->src, AT_EUI64, tvb, 8, 8);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->dl_src);
TVB_SET_ADDRESS(&pinfo->dl_dst, AT_EUI64, tvb, 0, 8);
- TVB_SET_ADDRESS(&pinfo->dst, AT_EUI64, tvb, 0, 8);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->dl_dst);
if (tree) {
ti = proto_tree_add_protocol_format(tree, proto_ap1394, tvb, 0, 18,
diff --git a/epan/dissectors/packet-arcnet.c b/epan/dissectors/packet-arcnet.c
index 251a0d3e5c..c7fbfd1618 100644
--- a/epan/dissectors/packet-arcnet.c
+++ b/epan/dissectors/packet-arcnet.c
@@ -176,9 +176,9 @@ dissect_arcnet_common (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree,
src = tvb_get_guint8 (tvb, 0);
dst = tvb_get_guint8 (tvb, 1);
TVB_SET_ADDRESS(&pinfo->dl_src, arcnet_address_type, tvb, 0, 1);
- TVB_SET_ADDRESS(&pinfo->src, arcnet_address_type, tvb, 0, 1);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->dl_src);
TVB_SET_ADDRESS(&pinfo->dl_dst, arcnet_address_type, tvb, 1, 1);
- TVB_SET_ADDRESS(&pinfo->dst, arcnet_address_type, tvb, 1, 1);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->dl_dst);
ti = proto_tree_add_item (tree, proto_arcnet, tvb, 0, -1, ENC_NA);
diff --git a/epan/dissectors/packet-atalk.c b/epan/dissectors/packet-atalk.c
index 972c54b09c..ee6522cd38 100644
--- a/epan/dissectors/packet-atalk.c
+++ b/epan/dissectors/packet-atalk.c
@@ -1450,9 +1450,9 @@ dissect_ddp_short(tvbuff_t *tvb, packet_info *pinfo, guint8 dnode,
dst->net = 0;
dst->node = dnode;
SET_ADDRESS(&pinfo->net_src, atalk_address_type, sizeof(struct atalk_ddp_addr), src);
- SET_ADDRESS(&pinfo->src, atalk_address_type, sizeof(struct atalk_ddp_addr), src);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
SET_ADDRESS(&pinfo->net_dst, atalk_address_type, sizeof(struct atalk_ddp_addr), dst);
- SET_ADDRESS(&pinfo->dst, atalk_address_type, sizeof(struct atalk_ddp_addr), dst);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
pinfo->ptype = PT_DDP;
pinfo->destport = dport;
@@ -1501,9 +1501,9 @@ dissect_ddp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
dst->net = ddp.dnet;
dst->node = ddp.dnode;
SET_ADDRESS(&pinfo->net_src, atalk_address_type, sizeof(struct atalk_ddp_addr), src);
- SET_ADDRESS(&pinfo->src, atalk_address_type, sizeof(struct atalk_ddp_addr), src);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
SET_ADDRESS(&pinfo->net_dst, atalk_address_type, sizeof(struct atalk_ddp_addr), dst);
- SET_ADDRESS(&pinfo->dst, atalk_address_type, sizeof(struct atalk_ddp_addr), dst);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
pinfo->ptype = PT_DDP;
pinfo->destport = ddp.dport;
diff --git a/epan/dissectors/packet-ax25.c b/epan/dissectors/packet-ax25.c
index 1bb8ff2ea5..d1547f22b4 100644
--- a/epan/dissectors/packet-ax25.c
+++ b/epan/dissectors/packet-ax25.c
@@ -157,7 +157,7 @@ dissect_ax25( tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree )
proto_tree_add_item( ax25_tree, hf_ax25_dst, tvb, offset, AX25_ADDR_LEN, ENC_NA);
TVB_SET_ADDRESS( &pinfo->dl_dst, AT_AX25, tvb, offset, AX25_ADDR_LEN );
- TVB_SET_ADDRESS( &pinfo->dst, AT_AX25, tvb, offset, AX25_ADDR_LEN );
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->dl_dst);
dst_ssid = tvb_get_guint8(tvb, offset+6);
/* step over dst addr point at src addr */
@@ -165,7 +165,7 @@ dissect_ax25( tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree )
proto_tree_add_item( ax25_tree, hf_ax25_src, tvb, offset, AX25_ADDR_LEN, ENC_NA);
TVB_SET_ADDRESS( &pinfo->dl_src, AT_AX25, tvb, offset, AX25_ADDR_LEN );
- TVB_SET_ADDRESS( &pinfo->src, AT_AX25, tvb, offset, AX25_ADDR_LEN );
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->dl_src);
src_ssid = tvb_get_guint8(tvb, offset+6);
/* step over src addr point at either 1st via addr or control byte */
diff --git a/epan/dissectors/packet-batadv.c b/epan/dissectors/packet-batadv.c
index ed0ef72732..c40f525296 100644
--- a/epan/dissectors/packet-batadv.c
+++ b/epan/dissectors/packet-batadv.c
@@ -2362,16 +2362,16 @@ static void dissect_batadv_icmp_v15(tvbuff_t *tvb, packet_info *pinfo,
offset += 1;
TVB_SET_ADDRESS(&icmp_packeth->dst, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, offset, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &icmp_packeth->dst);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &icmp_packeth->dst);
proto_tree_add_item(batadv_icmp_tree, hf_batadv_icmp_dst, tvb, offset,
6, ENC_NA);
offset += 6;
TVB_SET_ADDRESS(&icmp_packeth->orig, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, offset, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &icmp_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &icmp_packeth->orig);
proto_tree_add_item(batadv_icmp_tree, hf_batadv_icmp_orig, tvb, offset,
6, ENC_NA);
offset += 6;
@@ -2946,15 +2946,15 @@ static void dissect_batadv_unicast_frag_v15(tvbuff_t *tvb, packet_info *pinfo,
offset += 1;
TVB_SET_ADDRESS(&unicast_frag_packeth->dest, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, offset, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &unicast_frag_packeth->dest);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &unicast_frag_packeth->dest);
proto_tree_add_item(batadv_unicast_frag_tree, hf_batadv_unicast_frag_dst,
tvb, offset, 6, ENC_NA);
offset += 6;
TVB_SET_ADDRESS(&unicast_frag_packeth->orig, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, offset, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &unicast_frag_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &unicast_frag_packeth->orig);
proto_tree_add_item(batadv_unicast_frag_tree, hf_batadv_unicast_frag_orig,
tvb, offset, 6, ENC_NA);
offset += 6;
@@ -3685,15 +3685,15 @@ static void dissect_batadv_coded_v15(tvbuff_t *tvb, packet_info *pinfo,
offset += 1;
TVB_SET_ADDRESS(&coded_packeth->first_source, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, offset, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &coded_packeth->first_source);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &coded_packeth->first_source);
proto_tree_add_item(batadv_coded_tree, hf_batadv_coded_first_source,
tvb, offset, 6, ENC_NA);
offset += 6;
TVB_SET_ADDRESS(&coded_packeth->first_orig_dest, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, offset, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &coded_packeth->first_orig_dest);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &coded_packeth->first_orig_dest);
proto_tree_add_item(batadv_coded_tree, hf_batadv_coded_first_orig_dest,
tvb, offset, 6, ENC_NA);
offset += 6;
@@ -3826,15 +3826,15 @@ static void dissect_batadv_unicast_tvlv_v15(tvbuff_t *tvb, packet_info *pinfo,
offset += 1;
TVB_SET_ADDRESS(&unicast_tvlv_packeth->dest, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, offset, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &unicast_tvlv_packeth->dest);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &unicast_tvlv_packeth->dest);
proto_tree_add_item(batadv_unicast_tvlv_tree, hf_batadv_unicast_tvlv_dst,
tvb, offset, 6, ENC_NA);
offset += 6;
TVB_SET_ADDRESS(&unicast_tvlv_packeth->src, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, offset, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &unicast_tvlv_packeth->src);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &unicast_tvlv_packeth->src);
proto_tree_add_item(batadv_unicast_tvlv_tree, hf_batadv_unicast_tvlv_src,
tvb, offset, 6, ENC_NA);
offset += 6;
diff --git a/epan/dissectors/packet-btbnep.c b/epan/dissectors/packet-btbnep.c
index 217907b585..764d7f3e5e 100644
--- a/epan/dissectors/packet-btbnep.c
+++ b/epan/dissectors/packet-btbnep.c
@@ -317,7 +317,7 @@ dissect_btbnep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _
if (bnep_type == BNEP_TYPE_GENERAL_ETHERNET || bnep_type == BNEP_TYPE_COMPRESSED_ETHERNET_DESTINATION_ONLY) {
TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, offset, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->dl_dst);
addr_item = proto_tree_add_item(btbnep_tree, hf_btbnep_dst, tvb, offset, 6, ENC_NA);
addr_tree = proto_item_add_subtree(addr_item, ett_addr);
@@ -329,7 +329,7 @@ dissect_btbnep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _
if (bnep_type == BNEP_TYPE_GENERAL_ETHERNET || bnep_type == BNEP_TYPE_COMPRESSED_ETHERNET_SOURCE_ONLY) {
TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, offset, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, offset, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->dl_src);
addr_item = proto_tree_add_item(btbnep_tree, hf_btbnep_src, tvb, offset, 6, ENC_NA);
addr_tree = proto_item_add_subtree(addr_item, ett_addr);
diff --git a/epan/dissectors/packet-btle.c b/epan/dissectors/packet-btle.c
index e9e74b0f35..26f3178a6e 100644
--- a/epan/dissectors/packet-btle.c
+++ b/epan/dissectors/packet-btle.c
@@ -430,12 +430,12 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
offset = dissect_bd_addr(hf_advertising_address, btle_tree, tvb, offset, src_bd_addr);
SET_ADDRESS(&pinfo->net_src, AT_ETHER, 6, src_bd_addr);
- SET_ADDRESS(&pinfo->dl_src, AT_ETHER, 6, src_bd_addr);
- SET_ADDRESS(&pinfo->src, AT_ETHER, 6, src_bd_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &pinfo->net_src);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
SET_ADDRESS(&pinfo->net_dst, AT_STRINGZ, 10, "broadcast");
- SET_ADDRESS(&pinfo->dl_dst, AT_STRINGZ, 10, "broadcast");
- SET_ADDRESS(&pinfo->dst, AT_STRINGZ, 10, "broadcast");
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &pinfo->net_dst);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
if (!pinfo->fd->flags.visited) {
address *addr;
@@ -462,12 +462,12 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
offset = dissect_bd_addr(hf_initiator_addresss, btle_tree, tvb, offset, dst_bd_addr);
SET_ADDRESS(&pinfo->net_src, AT_ETHER, 6, src_bd_addr);
- SET_ADDRESS(&pinfo->dl_src, AT_ETHER, 6, src_bd_addr);
- SET_ADDRESS(&pinfo->src, AT_ETHER, 6, src_bd_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &pinfo->net_src);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
SET_ADDRESS(&pinfo->net_dst, AT_ETHER, 6, dst_bd_addr);
- SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, 6, dst_bd_addr);
- SET_ADDRESS(&pinfo->dst, AT_ETHER, 6, dst_bd_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &pinfo->net_dst);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
if (!pinfo->fd->flags.visited) {
address *addr;
@@ -487,12 +487,12 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
offset = dissect_bd_addr(hf_advertising_address, btle_tree, tvb, offset, dst_bd_addr);
SET_ADDRESS(&pinfo->net_src, AT_ETHER, 6, src_bd_addr);
- SET_ADDRESS(&pinfo->dl_src, AT_ETHER, 6, src_bd_addr);
- SET_ADDRESS(&pinfo->src, AT_ETHER, 6, src_bd_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &pinfo->net_src);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
SET_ADDRESS(&pinfo->net_dst, AT_ETHER, 6, dst_bd_addr);
- SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, 6, dst_bd_addr);
- SET_ADDRESS(&pinfo->dst, AT_ETHER, 6, dst_bd_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &pinfo->net_dst);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
if (!pinfo->fd->flags.visited) {
address *addr;
@@ -511,12 +511,12 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
offset = dissect_bd_addr(hf_advertising_address, btle_tree, tvb, offset, src_bd_addr);
SET_ADDRESS(&pinfo->net_src, AT_ETHER, 6, src_bd_addr);
- SET_ADDRESS(&pinfo->dl_src, AT_ETHER, 6, src_bd_addr);
- SET_ADDRESS(&pinfo->src, AT_ETHER, 6, src_bd_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &pinfo->net_src);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
SET_ADDRESS(&pinfo->net_dst, AT_STRINGZ, 10, "broadcast");
- SET_ADDRESS(&pinfo->dl_dst, AT_STRINGZ, 10, "broadcast");
- SET_ADDRESS(&pinfo->dst, AT_STRINGZ, 10, "broadcast");
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &pinfo->net_dst);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
if (!pinfo->fd->flags.visited) {
address *addr;
@@ -546,12 +546,12 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
offset = dissect_bd_addr(hf_advertising_address, btle_tree, tvb, offset, dst_bd_addr);
SET_ADDRESS(&pinfo->net_src, AT_ETHER, 6, src_bd_addr);
- SET_ADDRESS(&pinfo->dl_src, AT_ETHER, 6, src_bd_addr);
- SET_ADDRESS(&pinfo->src, AT_ETHER, 6, src_bd_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &pinfo->net_src);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
SET_ADDRESS(&pinfo->net_dst, AT_ETHER, 6, dst_bd_addr);
- SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, 6, dst_bd_addr);
- SET_ADDRESS(&pinfo->dst, AT_ETHER, 6, dst_bd_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &pinfo->net_dst);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
if (!pinfo->fd->flags.visited) {
address *addr;
@@ -663,12 +663,12 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
g_snprintf(str_addr, str_addr_len, "unknown_0x%08x", connection_address->access_address);
SET_ADDRESS(&pinfo->net_src, AT_STRINGZ, str_addr_len, str_addr);
- SET_ADDRESS(&pinfo->dl_src, AT_STRINGZ, str_addr_len, str_addr);
- SET_ADDRESS(&pinfo->src, AT_STRINGZ, str_addr_len, str_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &pinfo->net_src);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
SET_ADDRESS(&pinfo->net_dst, AT_STRINGZ, str_addr_len, str_addr);
- SET_ADDRESS(&pinfo->dl_dst, AT_STRINGZ, str_addr_len, str_addr);
- SET_ADDRESS(&pinfo->dst, AT_STRINGZ, str_addr_len, str_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &pinfo->net_dst);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
if (!pinfo->fd->flags.visited) {
address *addr;
diff --git a/epan/dissectors/packet-catapult-dct2000.c b/epan/dissectors/packet-catapult-dct2000.c
index 2c9c8e8113..bafe50587d 100644
--- a/epan/dissectors/packet-catapult-dct2000.c
+++ b/epan/dissectors/packet-catapult-dct2000.c
@@ -2602,9 +2602,7 @@ dissect_catapult_dct2000(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
TVB_SET_ADDRESS(&pinfo->net_src,
(source_addr_length == 4) ? AT_IPv4 : AT_IPv6,
tvb, source_addr_offset, source_addr_length);
- TVB_SET_ADDRESS(&pinfo->src,
- (source_addr_length == 4) ? AT_IPv4 : AT_IPv6,
- tvb, source_addr_offset, source_addr_length);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
proto_tree_add_item(ipprim_tree,
(source_addr_length == 4) ?
@@ -2645,9 +2643,7 @@ dissect_catapult_dct2000(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
TVB_SET_ADDRESS(&pinfo->net_dst,
(dest_addr_length == 4) ? AT_IPv4 : AT_IPv6,
tvb, dest_addr_offset, dest_addr_length);
- TVB_SET_ADDRESS(&pinfo->dst,
- (dest_addr_length == 4) ? AT_IPv4 : AT_IPv6,
- tvb, dest_addr_offset, dest_addr_length);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
proto_tree_add_item(ipprim_tree,
(dest_addr_length == 4) ?
hf_catapult_dct2000_ipprim_dst_addr_v4 :
@@ -2756,9 +2752,7 @@ dissect_catapult_dct2000(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
TVB_SET_ADDRESS(&pinfo->net_dst,
(dest_addr_length == 4) ? AT_IPv4 : AT_IPv6,
tvb, dest_addr_offset, dest_addr_length);
- TVB_SET_ADDRESS(&pinfo->dst,
- (dest_addr_length == 4) ? AT_IPv4 : AT_IPv6,
- tvb, dest_addr_offset, dest_addr_length);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
proto_tree_add_item(sctpprim_tree,
(dest_addr_length == 4) ?
hf_catapult_dct2000_sctpprim_dst_addr_v4 :
diff --git a/epan/dissectors/packet-clnp.c b/epan/dissectors/packet-clnp.c
index ecab1b505c..922b766acb 100644
--- a/epan/dissectors/packet-clnp.c
+++ b/epan/dissectors/packet-clnp.c
@@ -390,7 +390,7 @@ dissect_clnp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
}
nsel = tvb_get_guint8(tvb, offset + dst_len - 1);
TVB_SET_ADDRESS(&pinfo->net_dst, get_osi_address_type(), tvb, offset, dst_len);
- TVB_SET_ADDRESS(&pinfo->dst, get_osi_address_type(), tvb, offset, dst_len);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
proto_tree_add_bytes_format_value(clnp_tree, hf_clnp_dest, tvb, offset, dst_len,
NULL,
"%s",
@@ -426,7 +426,7 @@ dissect_clnp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
return;
}
TVB_SET_ADDRESS(&pinfo->net_src, get_osi_address_type(), tvb, offset, src_len);
- TVB_SET_ADDRESS(&pinfo->src, get_osi_address_type(), tvb, offset, src_len);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
proto_tree_add_bytes_format_value(clnp_tree, hf_clnp_src, tvb,
offset, src_len,
NULL,
diff --git a/epan/dissectors/packet-eth.c b/epan/dissectors/packet-eth.c
index 13d44df877..9e03bc6365 100644
--- a/epan/dissectors/packet-eth.c
+++ b/epan/dissectors/packet-eth.c
@@ -314,14 +314,14 @@ dissect_eth_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree,
dst_addr = tvb_get_ptr(tvb, 0, 6);
dst_addr_name = get_ether_name(dst_addr);
SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, 6, dst_addr);
- SET_ADDRESS(&pinfo->dst, AT_ETHER, 6, dst_addr);
- SET_ADDRESS(&ehdr->dst, AT_ETHER, 6, dst_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->dl_dst);
+ COPY_ADDRESS_SHALLOW(&ehdr->dst, &pinfo->dl_dst);
src_addr = tvb_get_ptr(tvb, 6, 6);
src_addr_name = get_ether_name(src_addr);
SET_ADDRESS(&pinfo->dl_src, AT_ETHER, 6, src_addr);
- SET_ADDRESS(&pinfo->src, AT_ETHER, 6, src_addr);
- SET_ADDRESS(&ehdr->src, AT_ETHER, 6, src_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->dl_src);
+ COPY_ADDRESS_SHALLOW(&ehdr->src, &pinfo->dl_src);
ehdr->type = tvb_get_ntohs(tvb, 12);
diff --git a/epan/dissectors/packet-exported_pdu.c b/epan/dissectors/packet-exported_pdu.c
index 1d358acb32..6307e47faf 100644
--- a/epan/dissectors/packet-exported_pdu.c
+++ b/epan/dissectors/packet-exported_pdu.c
@@ -124,22 +124,22 @@ dissect_exported_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
case EXP_PDU_TAG_IPV4_SRC:
proto_tree_add_item(tag_tree, hf_exported_pdu_ipv4_src, tvb, offset, 4, ENC_BIG_ENDIAN);
TVB_SET_ADDRESS(&pinfo->net_src, AT_IPv4, tvb, offset, 4);
- TVB_SET_ADDRESS(&pinfo->src, AT_IPv4, tvb, offset, 4);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
break;
case EXP_PDU_TAG_IPV4_DST:
proto_tree_add_item(tag_tree, hf_exported_pdu_ipv4_dst, tvb, offset, 4, ENC_BIG_ENDIAN);
TVB_SET_ADDRESS(&pinfo->net_dst, AT_IPv4, tvb, offset, 4);
- TVB_SET_ADDRESS(&pinfo->dst, AT_IPv4, tvb, offset, 4);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
break;
case EXP_PDU_TAG_IPV6_SRC:
proto_tree_add_item(tag_tree, hf_exported_pdu_ipv6_src, tvb, offset, 16, ENC_NA);
TVB_SET_ADDRESS(&pinfo->net_src, AT_IPv6, tvb, offset, 16);
- TVB_SET_ADDRESS(&pinfo->src, AT_IPv6, tvb, offset, 16);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
break;
case EXP_PDU_TAG_IPV6_DST:
proto_tree_add_item(tag_tree, hf_exported_pdu_ipv6_dst, tvb, offset, 16, ENC_NA);
TVB_SET_ADDRESS(&pinfo->net_dst, AT_IPv6, tvb, offset, 16);
- TVB_SET_ADDRESS(&pinfo->dst, AT_IPv6, tvb, offset, 16);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
break;
case EXP_PDU_TAG_PORT_TYPE:
pinfo->ptype = (port_type)tvb_get_ntohl(tvb, offset);
diff --git a/epan/dissectors/packet-fddi.c b/epan/dissectors/packet-fddi.c
index c7cbe03717..e66925a50e 100644
--- a/epan/dissectors/packet-fddi.c
+++ b/epan/dissectors/packet-fddi.c
@@ -368,11 +368,9 @@ dissect_fddi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
tvb_memcpy(tvb, dst, FDDI_P_DHOST + FDDI_PADDING, 6);
swap_mac_addr(dst_swapped, tvb, FDDI_P_DHOST + FDDI_PADDING);
- /* XXX - copy them to some buffer associated with "pi", rather than
- just making "dst" static? */
SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, 6, dst);
- SET_ADDRESS(&pinfo->dst, AT_ETHER, 6, dst);
- SET_ADDRESS(&fddihdr->dst, AT_ETHER, 6, dst);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->dl_dst);
+ COPY_ADDRESS_SHALLOW(&fddihdr->dst, &pinfo->dl_dst);
if (fh_tree) {
proto_tree_add_ether(fh_tree, hf_fddi_dst, tvb, FDDI_P_DHOST + FDDI_PADDING, 6, dst);
@@ -393,11 +391,9 @@ dissect_fddi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
tvb_memcpy(tvb, src, FDDI_P_SHOST + FDDI_PADDING, 6);
swap_mac_addr(src_swapped, tvb, FDDI_P_SHOST + FDDI_PADDING);
- /* XXX - copy them to some buffer associated with "pi", rather than
- just making "src" static? */
SET_ADDRESS(&pinfo->dl_src, AT_ETHER, 6, src);
- SET_ADDRESS(&pinfo->src, AT_ETHER, 6, src);
- SET_ADDRESS(&fddihdr->src, AT_ETHER, 6, src);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->dl_src);
+ COPY_ADDRESS_SHALLOW(&fddihdr->src, &pinfo->dl_src);
if (fh_tree) {
proto_tree_add_ether(fh_tree, hf_fddi_src, tvb, FDDI_P_SHOST + FDDI_PADDING, 6, src);
diff --git a/epan/dissectors/packet-ieee802154.c b/epan/dissectors/packet-ieee802154.c
index 4488634945..096ee667a4 100644
--- a/epan/dissectors/packet-ieee802154.c
+++ b/epan/dissectors/packet-ieee802154.c
@@ -714,12 +714,12 @@ dissect_ieee802154_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g
*=====================================================
*/
/* Clear out the addressing strings. */
- SET_ADDRESS(&pinfo->dst, AT_NONE, 0, NULL);
- SET_ADDRESS(&pinfo->src, AT_NONE, 0, NULL);
- SET_ADDRESS(&pinfo->dl_dst, AT_NONE, 0, NULL);
- SET_ADDRESS(&pinfo->dl_src, AT_NONE, 0, NULL);
SET_ADDRESS(&pinfo->net_dst, AT_NONE, 0, NULL);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &pinfo->net_dst);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
SET_ADDRESS(&pinfo->net_src, AT_NONE, 0, NULL);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &pinfo->net_src);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
/* Get and display the destination PAN, if present. */
if ( (packet->dst_addr_mode == IEEE802154_FCF_ADDR_SHORT) ||
@@ -751,7 +751,7 @@ dissect_ieee802154_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g
}
TVB_SET_ADDRESS(&pinfo->dl_dst, ieee802_15_4_short_address_type, tvb, offset, 2);
- TVB_SET_ADDRESS(&pinfo->dst, ieee802_15_4_short_address_type, tvb, offset, 2);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->dl_dst);
if (tree) {
proto_tree_add_uint(ieee802154_tree, hf_ieee802154_dst16, tvb, offset, 2, packet->dst16);
@@ -776,7 +776,7 @@ dissect_ieee802154_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g
* epan/addr_resolv.c.
*/
SET_ADDRESS(&pinfo->dl_dst, AT_EUI64, 8, p_addr);
- SET_ADDRESS(&pinfo->dst, AT_EUI64, 8, p_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->dl_dst);
if (tree) {
proto_tree_add_item(ieee802154_tree, hf_ieee802154_dst64, tvb, offset, 8, ENC_LITTLE_ENDIAN);
proto_item_append_text(proto_root, ", Dst: %s", eui64_to_display(wmem_packet_scope(), packet->dst64));
@@ -845,7 +845,7 @@ dissect_ieee802154_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g
}
TVB_SET_ADDRESS(&pinfo->dl_src, ieee802_15_4_short_address_type, tvb, offset, 2);
- TVB_SET_ADDRESS(&pinfo->src, ieee802_15_4_short_address_type, tvb, offset, 2);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->dl_src);
/* Add the addressing info to the tree. */
if (tree) {
@@ -889,7 +889,7 @@ dissect_ieee802154_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g
* epan/addr_resolv.c.
*/
SET_ADDRESS(&pinfo->dl_src, AT_EUI64, 8, p_addr);
- SET_ADDRESS(&pinfo->src, AT_EUI64, 8, p_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->dl_src);
if (tree) {
proto_tree_add_item(ieee802154_tree, hf_ieee802154_src64, tvb, offset, 8, ENC_LITTLE_ENDIAN);
proto_item_append_text(proto_root, ", Src: %s", eui64_to_display(wmem_packet_scope(), packet->src64));
diff --git a/epan/dissectors/packet-ip.c b/epan/dissectors/packet-ip.c
index 83e1b5fa7e..2b527044f8 100644
--- a/epan/dissectors/packet-ip.c
+++ b/epan/dissectors/packet-ip.c
@@ -2224,8 +2224,8 @@ dissect_ip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
}
src32 = tvb_get_ntohl(tvb, offset + IPH_SRC);
TVB_SET_ADDRESS(&pinfo->net_src, AT_IPv4, tvb, offset + IPH_SRC, 4);
- SET_ADDRESS(&pinfo->src, AT_IPv4, 4, pinfo->net_src.data);
- SET_ADDRESS(&iph->ip_src, AT_IPv4, 4, pinfo->net_src.data);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
+ COPY_ADDRESS_SHALLOW(&iph->ip_src, &pinfo->src);
if (tree) {
const char *src_host;
@@ -2266,8 +2266,8 @@ dissect_ip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
dst32 = tvb_get_ntohl(tvb, offset + IPH_DST + dst_off);
TVB_SET_ADDRESS(&pinfo->net_dst, AT_IPv4, tvb, offset + IPH_DST + dst_off, 4);
- SET_ADDRESS(&pinfo->dst, AT_IPv4, 4, pinfo->net_dst.data);
- SET_ADDRESS(&iph->ip_dst, AT_IPv4, 4, pinfo->net_dst.data);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
+ COPY_ADDRESS_SHALLOW(&iph->ip_dst, &pinfo->net_dst);
/* If an IP is destined for an IP address in the Local Network Control Block
* (e.g. 224.0.0.0/24), the packet should never be routed and the TTL would
diff --git a/epan/dissectors/packet-ipv6.c b/epan/dissectors/packet-ipv6.c
index ad3d82c156..1fff6bd50f 100644
--- a/epan/dissectors/packet-ipv6.c
+++ b/epan/dissectors/packet-ipv6.c
@@ -1870,9 +1870,9 @@ dissect_ipv6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
set_actual_length(tvb, plen + (guint)sizeof (struct ip6_hdr));
TVB_SET_ADDRESS(&pinfo->net_src, AT_IPv6, tvb, offset + IP6H_SRC, 16);
- TVB_SET_ADDRESS(&pinfo->src, AT_IPv6, tvb, offset + IP6H_SRC, 16);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
TVB_SET_ADDRESS(&pinfo->net_dst, AT_IPv6, tvb, offset + IP6H_DST, 16);
- TVB_SET_ADDRESS(&pinfo->dst, AT_IPv6, tvb, offset + IP6H_DST, 16);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
ipv6_item = proto_tree_add_item(tree, proto_ipv6, tvb, offset, -1, ENC_NA);
ipv6_tree = proto_item_add_subtree(ipv6_item, ett_ipv6);
diff --git a/epan/dissectors/packet-ipx.c b/epan/dissectors/packet-ipx.c
index 04adbc9ba6..63964a3c6b 100644
--- a/epan/dissectors/packet-ipx.c
+++ b/epan/dissectors/packet-ipx.c
@@ -333,11 +333,11 @@ dissect_ipx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
set_actual_length(tvb, ipxh->ipx_length);
TVB_SET_ADDRESS(&pinfo->net_src, AT_IPX, tvb, 18, 10);
- TVB_SET_ADDRESS(&pinfo->src, AT_IPX, tvb, 18, 10);
- TVB_SET_ADDRESS(&ipxh->ipx_src, AT_IPX, tvb, 18, 10);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
+ COPY_ADDRESS_SHALLOW(&ipxh->ipx_src, &pinfo->net_src);
TVB_SET_ADDRESS(&pinfo->net_dst, AT_IPX, tvb, 6, 10);
- TVB_SET_ADDRESS(&pinfo->dst, AT_IPX, tvb, 6, 10);
- TVB_SET_ADDRESS(&ipxh->ipx_dst, AT_IPX, tvb, 6, 10);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
+ COPY_ADDRESS_SHALLOW(&ipxh->ipx_dst, &pinfo->net_dst);
col_add_str(pinfo->cinfo, COL_INFO, val_to_str_ext(ipxh->ipx_dsocket, &ipx_socket_vals_ext, "Unknown (0x%04x)"));
diff --git a/epan/dissectors/packet-mstp.c b/epan/dissectors/packet-mstp.c
index f0c2b9f4dd..4291c4bdfd 100644
--- a/epan/dissectors/packet-mstp.c
+++ b/epan/dissectors/packet-mstp.c
@@ -355,9 +355,9 @@ dissect_mstp_wtap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* set the MS/TP MAC address in the source/destination */
TVB_SET_ADDRESS(&pinfo->dl_dst, mstp_address_type, tvb, offset+3, 1);
- TVB_SET_ADDRESS(&pinfo->dst, mstp_address_type, tvb, offset+3, 1);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->dl_dst);
TVB_SET_ADDRESS(&pinfo->dl_src, mstp_address_type, tvb, offset+4, 1);
- TVB_SET_ADDRESS(&pinfo->src, mstp_address_type, tvb, offset+4, 1);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->dl_src);
#ifdef BACNET_MSTP_SUMMARY_IN_TREE
mstp_frame_type = tvb_get_guint8(tvb, offset+2);
diff --git a/epan/dissectors/packet-sll.c b/epan/dissectors/packet-sll.c
index 70af9aac8b..8809a8ed39 100644
--- a/epan/dissectors/packet-sll.c
+++ b/epan/dissectors/packet-sll.c
@@ -245,12 +245,12 @@ dissect_sll(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
switch (halen) {
case 4:
TVB_SET_ADDRESS(&pinfo->dl_src, AT_IPv4, tvb, 6, 4);
- TVB_SET_ADDRESS(&pinfo->src, AT_IPv4, tvb, 6, 4);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->dl_src);
proto_tree_add_item(fh_tree, &hfi_sll_src_ipv4, tvb, 6, 4, ENC_BIG_ENDIAN);
break;
case 6:
TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, 6, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, 6, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->dl_src);
proto_tree_add_item(fh_tree, &hfi_sll_src_eth, tvb, 6, 6, ENC_NA);
break;
case 0:
diff --git a/epan/dissectors/packet-smpp.c b/epan/dissectors/packet-smpp.c
index 3c21667b5d..5d54bc16b1 100644
--- a/epan/dissectors/packet-smpp.c
+++ b/epan/dissectors/packet-smpp.c
@@ -1978,8 +1978,8 @@ submit_sm(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo,
{
DebugLog(("UDHI present - set addresses\n"));
/* Save original addresses */
- SET_ADDRESS(&save_src, pinfo->src.type, pinfo->src.len, pinfo->src.data);
- SET_ADDRESS(&save_dst, pinfo->dst.type, pinfo->dst.len, pinfo->dst.data);
+ COPY_ADDRESS_SHALLOW(&save_src, &pinfo->src);
+ COPY_ADDRESS_SHALLOW(&save_dst, &pinfo->dst);
/* Set SMPP source and destination address */
SET_ADDRESS(&(pinfo->src), AT_STRINGZ, 1+(int)strlen(src_str), src_str);
SET_ADDRESS(&(pinfo->dst), AT_STRINGZ, 1+(int)strlen(dst_str), dst_str);
@@ -1987,8 +1987,8 @@ submit_sm(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo,
MIN(length, tvb_reported_length(tvb) - offset), length);
call_dissector (gsm_sms_handle, tvb_msg, pinfo, top_tree);
/* Restore original addresses */
- SET_ADDRESS(&(pinfo->src), save_src.type, save_src.len, save_src.data );
- SET_ADDRESS(&(pinfo->dst), save_dst.type, save_dst.len, save_dst.data);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &save_src);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &save_dst);
}
offset += length;
}
diff --git a/epan/dissectors/packet-sna.c b/epan/dissectors/packet-sna.c
index d66ca3f552..effac96aff 100644
--- a/epan/dissectors/packet-sna.c
+++ b/epan/dissectors/packet-sna.c
@@ -1729,13 +1729,13 @@ dissect_fid0_1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* Set DST addr */
TVB_SET_ADDRESS(&pinfo->net_dst, sna_address_type, tvb, 2, SNA_FID01_ADDR_LEN);
- TVB_SET_ADDRESS(&pinfo->dst, sna_address_type, tvb, 2, SNA_FID01_ADDR_LEN);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
proto_tree_add_item(tree, hf_sna_th_oaf, tvb, 4, 2, ENC_BIG_ENDIAN);
/* Set SRC addr */
TVB_SET_ADDRESS(&pinfo->net_src, sna_address_type, tvb, 4, SNA_FID01_ADDR_LEN);
- TVB_SET_ADDRESS(&pinfo->src, sna_address_type, tvb, 4, SNA_FID01_ADDR_LEN);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
proto_tree_add_item(tree, hf_sna_th_snf, tvb, 6, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(tree, hf_sna_th_dcf, tvb, 8, 2, ENC_BIG_ENDIAN);
@@ -1781,14 +1781,14 @@ dissect_fid2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
/* Set DST addr */
TVB_SET_ADDRESS(&pinfo->net_dst, sna_address_type, tvb, 2, SNA_FID2_ADDR_LEN);
- TVB_SET_ADDRESS(&pinfo->dst, sna_address_type, tvb, 2, SNA_FID2_ADDR_LEN);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
/* Byte 3 */
proto_tree_add_item(tree, hf_sna_th_oaf, tvb, 3, 1, ENC_BIG_ENDIAN);
/* Set SRC addr */
TVB_SET_ADDRESS(&pinfo->net_src, sna_address_type, tvb, 3, SNA_FID2_ADDR_LEN);
- TVB_SET_ADDRESS(&pinfo->src, sna_address_type, tvb, 3, SNA_FID2_ADDR_LEN);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
id = tvb_get_ntohs(tvb, 4);
proto_tree_add_item(tree, hf_sna_th_snf, tvb, 4, 2, ENC_BIG_ENDIAN);
@@ -1979,7 +1979,7 @@ dissect_fid4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
dst->saf = dsaf;
dst->ef = def;
SET_ADDRESS(&pinfo->net_dst, sna_address_type, SNA_FID_TYPE_4_ADDR_LEN, dst);
- SET_ADDRESS(&pinfo->dst, sna_address_type, SNA_FID_TYPE_4_ADDR_LEN, dst);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
oef = tvb_get_ntohs(tvb, 20);
proto_tree_add_uint(tree, hf_sna_th_oef, tvb, offset+2, 2, oef);
@@ -1989,7 +1989,7 @@ dissect_fid4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
src->saf = osaf;
src->ef = oef;
SET_ADDRESS(&pinfo->net_src, sna_address_type, SNA_FID_TYPE_4_ADDR_LEN, src);
- SET_ADDRESS(&pinfo->src, sna_address_type, SNA_FID_TYPE_4_ADDR_LEN, src);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_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);
diff --git a/epan/dissectors/packet-tcp.c b/epan/dissectors/packet-tcp.c
index 63e3722cce..037a7f262f 100644
--- a/epan/dissectors/packet-tcp.c
+++ b/epan/dissectors/packet-tcp.c
@@ -4344,8 +4344,8 @@ dissect_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
gchar *src_port_str, *dst_port_str;
tcph=wmem_new(wmem_packet_scope(), struct tcpheader);
- SET_ADDRESS(&tcph->ip_src, pinfo->src.type, pinfo->src.len, pinfo->src.data);
- SET_ADDRESS(&tcph->ip_dst, pinfo->dst.type, pinfo->dst.len, pinfo->dst.data);
+ COPY_ADDRESS_SHALLOW(&tcph->ip_src, &pinfo->src);
+ COPY_ADDRESS_SHALLOW(&tcph->ip_dst, &pinfo->dst);
col_set_str(pinfo->cinfo, COL_PROTOCOL, "TCP");
diff --git a/epan/dissectors/packet-tr.c b/epan/dissectors/packet-tr.c
index 8da242fb16..c4e2ddde01 100644
--- a/epan/dissectors/packet-tr.c
+++ b/epan/dissectors/packet-tr.c
@@ -540,12 +540,10 @@ dissect_tr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
ENDTRY;
}
- /* XXX - copy it to some buffer associated with "*pinfo", rather than
- just making "trn_shost_nonsr" static? */
SET_ADDRESS(&pinfo->dl_src, AT_ETHER, 6, trn_shost_nonsr);
- SET_ADDRESS(&pinfo->src, AT_ETHER, 6, trn_shost_nonsr);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->dl_src);
SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, 6, trh->dst.data);
- SET_ADDRESS(&pinfo->dst, AT_ETHER, 6, trh->dst.data);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->dl_dst);
/* protocol analysis tree */
if (tree) {
diff --git a/epan/dissectors/packet-usb.c b/epan/dissectors/packet-usb.c
index a89ddbf0e6..b8cb2f6e6f 100644
--- a/epan/dissectors/packet-usb.c
+++ b/epan/dissectors/packet-usb.c
@@ -3182,9 +3182,10 @@ usb_set_addr(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, guint16 bus_id
dst_addr->bus_id = GUINT16_TO_LE(bus_id);
SET_ADDRESS(&pinfo->net_src, AT_USB, USB_ADDR_LEN, (char *)src_addr);
- SET_ADDRESS(&pinfo->src, AT_USB, USB_ADDR_LEN, (char *)src_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
SET_ADDRESS(&pinfo->net_dst, AT_USB, USB_ADDR_LEN, (char *)dst_addr);
- SET_ADDRESS(&pinfo->dst, AT_USB, USB_ADDR_LEN, (char *)dst_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
+
pinfo->ptype = PT_USB;
pinfo->srcport = src_addr->endpoint;
pinfo->destport = dst_addr->endpoint;
diff --git a/epan/dissectors/packet-vines.c b/epan/dissectors/packet-vines.c
index 0d8ea850eb..4683d0beed 100644
--- a/epan/dissectors/packet-vines.c
+++ b/epan/dissectors/packet-vines.c
@@ -554,10 +554,10 @@ dissect_vines_ip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
vip_tctl);
TVB_SET_ADDRESS(&pinfo->net_src, AT_VINES, tvb, offset+12, VINES_ADDR_LEN);
- TVB_SET_ADDRESS(&pinfo->src, AT_VINES, tvb, offset+12, VINES_ADDR_LEN);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
dst_addr = tvb_get_ptr(tvb, offset+6, VINES_ADDR_LEN);
TVB_SET_ADDRESS(&pinfo->net_dst, AT_VINES, tvb, offset+6, VINES_ADDR_LEN);
- TVB_SET_ADDRESS(&pinfo->dst, AT_VINES, tvb, offset+6, VINES_ADDR_LEN);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
/* helpers to transport control */
if (memcmp(dst_addr, bcast_addr, VINES_ADDR_LEN) == 0)
diff --git a/epan/dissectors/packet-zbee-nwk.c b/epan/dissectors/packet-zbee-nwk.c
index 67a3f5c1c7..05e17258ae 100644
--- a/epan/dissectors/packet-zbee-nwk.c
+++ b/epan/dissectors/packet-zbee-nwk.c
@@ -462,8 +462,8 @@ dissect_zbee_nwk_full(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void
dst_addr = wmem_strdup_printf(pinfo->pool, "0x%04x", packet.dst);
}
- SET_ADDRESS(&pinfo->dst, AT_STRINGZ, (int)strlen(dst_addr)+1, dst_addr);
SET_ADDRESS(&pinfo->net_dst, AT_STRINGZ, (int)strlen(dst_addr)+1, dst_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
proto_item_append_text(proto_root, ", Dst: %s", dst_addr);
col_append_fstr(pinfo->cinfo, COL_INFO, ", Dst: %s", dst_addr);
@@ -489,8 +489,8 @@ dissect_zbee_nwk_full(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void
unicast_src = TRUE;
}
- SET_ADDRESS(&pinfo->src, AT_STRINGZ, (int)strlen(src_addr)+1, src_addr);
SET_ADDRESS(&pinfo->net_src, AT_STRINGZ, (int)strlen(src_addr)+1, src_addr);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->net_src);
proto_item_append_text(proto_root, ", Src: %s", src_addr);
col_append_fstr(pinfo->cinfo, COL_INFO, ", Src: %s", src_addr);