diff options
26 files changed, 116 insertions, 130 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); diff --git a/plugins/docsis/packet-macmgmt.c b/plugins/docsis/packet-macmgmt.c index 28b2578c31..2dae3da8f6 100644 --- a/plugins/docsis/packet-macmgmt.c +++ b/plugins/docsis/packet-macmgmt.c @@ -146,7 +146,6 @@ static const value_string mgmt_type_vals[] = { static void dissect_macmgmt (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree) { - const guint8 *src, *dst; guint16 msg_len; proto_item *mgt_hdr_it; proto_tree *mgt_hdr_tree; @@ -157,12 +156,10 @@ dissect_macmgmt (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree) col_clear(pinfo->cinfo, COL_INFO); - src = tvb_get_ptr (tvb, 6, 6); - dst = tvb_get_ptr (tvb, 0, 6); - SET_ADDRESS (&pinfo->dl_src, AT_ETHER, 6, src); - SET_ADDRESS (&pinfo->src, AT_ETHER, 6, src); - SET_ADDRESS (&pinfo->dl_dst, AT_ETHER, 6, dst); - SET_ADDRESS (&pinfo->dst, AT_ETHER, 6, dst); + TVB_SET_ADDRESS (&pinfo->dl_src, AT_ETHER, tvb, 6, 6); + COPY_ADDRESS_SHALLOW(&pinfo->src, &pinfo->dl_src); + TVB_SET_ADDRESS (&pinfo->dl_dst, AT_ETHER, tvb, 0, 6); + COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->dl_dst); if (tree) { |