diff options
Diffstat (limited to 'epan/dissectors')
33 files changed, 154 insertions, 161 deletions
diff --git a/epan/dissectors/packet-dcerpc.c b/epan/dissectors/packet-dcerpc.c index 253f695856..c592f13368 100644 --- a/epan/dissectors/packet-dcerpc.c +++ b/epan/dissectors/packet-dcerpc.c @@ -797,8 +797,8 @@ decode_dcerpc_binding_free(void *binding_in) { decode_dcerpc_bind_values_t *binding = (decode_dcerpc_bind_values_t *)binding_in; - g_free((void *) binding->addr_a.data); - g_free((void *) binding->addr_b.data); + free_address(&binding->addr_a); + free_address(&binding->addr_b); if (binding->ifname) g_string_free(binding->ifname, TRUE); g_free(binding); @@ -962,8 +962,8 @@ decode_dcerpc_binding_reset(const char *name _U_, const gpointer pattern) decode_dcerpc_bindings = g_slist_remove(decode_dcerpc_bindings, le->data); - g_free((void *) old_binding->addr_a.data); - g_free((void *) old_binding->addr_b.data); + free_address(&old_binding->addr_a); + free_address(&old_binding->addr_b); g_string_free(old_binding->ifname, TRUE); g_free(old_binding); return FALSE; @@ -1082,8 +1082,8 @@ dcerpc_fragment_temporary_key(const packet_info *pinfo, const guint32 id, dcerpc_fragment_key *key = g_slice_new(dcerpc_fragment_key); const e_dce_dg_common_hdr_t *hdr = (const e_dce_dg_common_hdr_t *)data; - key->src = pinfo->src; - key->dst = pinfo->dst; + copy_address_shallow(&key->src, &pinfo->src); + copy_address_shallow(&key->dst, &pinfo->dst); key->id = id; key->act_id = hdr->act_id; @@ -1124,8 +1124,8 @@ dcerpc_fragment_free_persistent_key(gpointer ptr) /* * Free up the copies of the addresses from the old key. */ - g_free((gpointer)key->src.data); - g_free((gpointer)key->dst.data); + free_address(&key->src); + free_address(&key->dst); g_slice_free(dcerpc_fragment_key, key); } diff --git a/epan/dissectors/packet-dcom.c b/epan/dissectors/packet-dcom.c index e41a12e0af..b4a8181e3b 100644 --- a/epan/dissectors/packet-dcom.c +++ b/epan/dissectors/packet-dcom.c @@ -2202,7 +2202,7 @@ static void dcom_cleanup(void) { objects->data = NULL; /* for good measure */ } g_list_free(machine->objects); - g_free((void*)machine->ip.data); + free_address(&machine->ip); machine->objects = NULL; /* for good measure */ } diff --git a/epan/dissectors/packet-dvbci.c b/epan/dissectors/packet-dvbci.c index 310d50f9b8..d42c70cdce 100644 --- a/epan/dissectors/packet-dvbci.c +++ b/epan/dissectors/packet-dvbci.c @@ -1676,8 +1676,8 @@ guint8 dvbci_get_evt_from_addrs(packet_info *pinfo) { /* this should be working from C89 on */ - static const address a_cam = { AT_STRINGZ, sizeof(ADDR_CAM), ADDR_CAM }; - static const address a_host = { AT_STRINGZ, sizeof(ADDR_HOST), ADDR_HOST }; + static const address a_cam = ADDRESS_INIT(AT_STRINGZ, sizeof(ADDR_CAM), ADDR_CAM); + static const address a_host = ADDRESS_INIT(AT_STRINGZ, sizeof(ADDR_HOST), ADDR_HOST); if ( addresses_equal(&(pinfo->src), &a_cam) && addresses_equal(&(pinfo->dst), &a_host) ) { diff --git a/epan/dissectors/packet-enip.c b/epan/dissectors/packet-enip.c index fb8fb8302a..2f09eccde9 100644 --- a/epan/dissectors/packet-enip.c +++ b/epan/dissectors/packet-enip.c @@ -1113,14 +1113,14 @@ enip_open_cip_connection( packet_info *pinfo, cip_conn_info_t* connInfo) ((connInfo->O2T.ipaddress.type == AT_IPv4) && ((*(const guint32*)connInfo->O2T.ipaddress.data)) == 0) || ((connInfo->O2T.ipaddress.type == AT_IPv6) && (memcmp(connInfo->O2T.ipaddress.data, &ipv6_zero, sizeof(ipv6_zero)) == 0)) || (connInfo->O2T.type != CONN_TYPE_MULTICAST)) - connInfo->O2T.ipaddress = pinfo->src; + copy_address_shallow(&connInfo->O2T.ipaddress, &pinfo->src); if ((connInfo->T2O.port == 0) || (connInfo->T2O.type == CONN_TYPE_MULTICAST)) connInfo->T2O.port = ENIP_IO_PORT; if ((connInfo->T2O.ipaddress.type == AT_NONE) || ((connInfo->T2O.ipaddress.type == AT_IPv4) && ((*(const guint32*)connInfo->T2O.ipaddress.data)) == 0) || ((connInfo->T2O.ipaddress.type == AT_IPv6) && (memcmp(connInfo->T2O.ipaddress.data, &ipv6_zero, sizeof(ipv6_zero)) == 0)) || (connInfo->T2O.type != CONN_TYPE_MULTICAST)) - connInfo->T2O.ipaddress = pinfo->dst; + copy_address_shallow(&connInfo->T2O.ipaddress, &pinfo->dst); if (connInfo->O2T.ipaddress.type == AT_IPv6) { @@ -2576,24 +2576,17 @@ dissect_cpf(enip_request_key_t *request_key, int command, tvbuff_t *tvb, request_info = (enip_request_info_t *)p_get_proto_data(wmem_file_scope(), pinfo, proto_enip, ENIP_REQUEST_INFO); if (request_info != NULL) { - guint16 port; - guint32 *datap; - - port = tvb_get_ntohs(tvb, offset+8); - datap = (guint32 *)wmem_alloc(wmem_file_scope(), sizeof(guint32)); - *datap = tvb_get_ipv4(tvb, offset+10); - if (item == SOCK_ADR_INFO_OT) { - request_info->cip_info->connInfo->O2T.port = port; - set_address(&request_info->cip_info->connInfo->O2T.ipaddress, - AT_IPv4, sizeof(guint32), datap); + request_info->cip_info->connInfo->O2T.port = tvb_get_ntohs(tvb, offset+8); + alloc_address_tvb(wmem_file_scope(), &request_info->cip_info->connInfo->O2T.ipaddress, + AT_IPv4, sizeof(guint32), tvb, offset+10); } else { - request_info->cip_info->connInfo->T2O.port = port; - set_address(&request_info->cip_info->connInfo->T2O.ipaddress, - AT_IPv4, sizeof(guint32), datap); + request_info->cip_info->connInfo->T2O.port = tvb_get_ntohs(tvb, offset+8); + alloc_address_tvb(wmem_file_scope(), &request_info->cip_info->connInfo->T2O.ipaddress, + AT_IPv4, sizeof(guint32), tvb, offset+10); } } } diff --git a/epan/dissectors/packet-forces.c b/epan/dissectors/packet-forces.c index 237c28ce75..b1a56b630d 100644 --- a/epan/dissectors/packet-forces.c +++ b/epan/dissectors/packet-forces.c @@ -411,10 +411,13 @@ dissect_redirecttlv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint of gint start_offset; gint length_meta, length_ilv, length_redirect; proto_item *ti; - address src_addr = pinfo->src, - src_net_addr = pinfo->net_src, - dst_addr = pinfo->dst, - dst_net_addr = pinfo->net_dst; + address src_addr, src_net_addr; + address dst_addr, dst_net_addr; + + copy_address_shallow(&src_addr, &pinfo->src); + copy_address_shallow(&src_net_addr, &pinfo->net_src); + copy_address_shallow(&dst_addr, &pinfo->dst); + copy_address_shallow(&dst_net_addr, &pinfo->net_dst); meta_data_tree = proto_tree_add_subtree(tree, tvb, offset, TLV_TL_LENGTH, ett_forces_redirect_tlv_meta_data_tlv, &ti, "Meta Data TLV"); @@ -476,10 +479,10 @@ dissect_redirecttlv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint of call_dissector(ip_handle, next_tvb, pinfo, redirect_data_tree); /* Restore IP info */ - memcpy(&(pinfo->src), &src_addr, sizeof(address)); - memcpy(&(pinfo->net_src), &src_net_addr, sizeof(address)); - memcpy(&(pinfo->dst), &dst_addr, sizeof(address)); - memcpy(&(pinfo->net_dst), &dst_net_addr, sizeof(address)); + copy_address_shallow(&pinfo->src, &src_addr); + copy_address_shallow(&pinfo->net_src, &src_net_addr); + copy_address_shallow(&pinfo->dst, &dst_addr); + copy_address_shallow(&pinfo->net_dst, &dst_net_addr); } } } diff --git a/epan/dissectors/packet-ftp.c b/epan/dissectors/packet-ftp.c index 6487d2e9b1..caa9c3147d 100644 --- a/epan/dissectors/packet-ftp.c +++ b/epan/dissectors/packet-ftp.c @@ -545,7 +545,7 @@ dissect_ftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) gboolean ftp_nat; conversation_t *conversation; - ftp_ip_address = pinfo->src; + copy_address_shallow(&ftp_ip_address, &pinfo->src); if (pinfo->match_uint == pinfo->destport) is_request = TRUE; diff --git a/epan/dissectors/packet-ieee802154.c b/epan/dissectors/packet-ieee802154.c index 1509988517..fd519d2c33 100644 --- a/epan/dissectors/packet-ieee802154.c +++ b/epan/dissectors/packet-ieee802154.c @@ -807,12 +807,12 @@ dissect_ieee802154_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g * ADDRESSING FIELDS */ /* Clear out the addressing strings. */ - 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); + clear_address(&pinfo->net_dst); + clear_address(&pinfo->dl_dst); + clear_address(&pinfo->dst); + clear_address(&pinfo->net_src); + clear_address(&pinfo->dl_src); + clear_address(&pinfo->src); if (packet->dst_addr_mode == IEEE802154_FCF_ADDR_RESERVED) { /* Invalid Destination Address Mode. Abort Dissection. */ diff --git a/epan/dissectors/packet-isakmp.c b/epan/dissectors/packet-isakmp.c index 1158673a85..a5eee78cae 100644 --- a/epan/dissectors/packet-isakmp.c +++ b/epan/dissectors/packet-isakmp.c @@ -2878,7 +2878,7 @@ dissect_isakmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ #ifdef HAVE_LIBGCRYPT if (isakmp_version == 1) { - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); tvb_memcpy(tvb, i_cookie, offset, COOKIE_SIZE); decr = (decrypt_data_t*) g_hash_table_lookup(isakmp_hash, i_cookie); @@ -2888,7 +2888,7 @@ dissect_isakmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ decr = (decrypt_data_t *)g_slice_alloc(sizeof(decrypt_data_t)); memcpy(ic_key, i_cookie, COOKIE_SIZE); memset(decr, 0, sizeof(decrypt_data_t)); - set_address(&decr->initiator, AT_NONE, 0, NULL); + clear_address(&decr->initiator); g_hash_table_insert(isakmp_hash, ic_key, decr); } diff --git a/epan/dissectors/packet-jxta.c b/epan/dissectors/packet-jxta.c index fb98d01d77..ab7a1c4c2a 100644 --- a/epan/dissectors/packet-jxta.c +++ b/epan/dissectors/packet-jxta.c @@ -692,9 +692,9 @@ static int dissect_jxta_stream(tvbuff_t * tvb, packet_info * pinfo, proto_tree * /* g_message("%d From initiator : %s -> %s ", pinfo->num, address_to_str(wmem_packet_scope(), &tpt_conv_data->initiator_address), address_to_str(wmem_packet_scope(), &tpt_conv_data->receiver_address)); */ - pinfo->src = tpt_conv_data->initiator_address; + copy_address_shallow(&pinfo->src, &tpt_conv_data->initiator_address); pinfo->srcport = 0; - pinfo->dst = tpt_conv_data->receiver_address; + copy_address_shallow(&pinfo->dst, &tpt_conv_data->receiver_address); pinfo->destport = 0; pinfo->ptype = PT_NONE; } else if (addresses_equal(&pinfo->src, &tpt_conv_data->receiver_tpt_address) && @@ -702,9 +702,9 @@ static int dissect_jxta_stream(tvbuff_t * tvb, packet_info * pinfo, proto_tree * /* g_message("%d From receiver : %s -> %s ", pinfo->num, address_to_str(wmem_packet_scope(), &tpt_conv_data->receiver_address), address_to_str(wmem_packet_scope(), &tpt_conv_data->initiator_address)); */ - pinfo->src = tpt_conv_data->receiver_address; + copy_address_shallow(&pinfo->src, &tpt_conv_data->receiver_address); pinfo->srcport = 0; - pinfo->dst = tpt_conv_data->initiator_address; + copy_address_shallow(&pinfo->dst, &tpt_conv_data->initiator_address); pinfo->destport = 0; pinfo->ptype = PT_NONE; } else { @@ -768,16 +768,12 @@ static jxta_stream_conversation_data *get_tpt_conversation(packet_info * pinfo) copy_address_wmem(wmem_file_scope(), &tpt_conv_data->initiator_tpt_address, &pinfo->src); tpt_conv_data->initiator_tpt_port = pinfo->srcport; tpt_conv_data->initiator_welcome_frame = 0; - tpt_conv_data->initiator_address.type = AT_NONE; - tpt_conv_data->initiator_address.len = 0; - tpt_conv_data->initiator_address.data = NULL; + clear_address(&tpt_conv_data->initiator_address); copy_address_wmem(wmem_file_scope(), &tpt_conv_data->receiver_tpt_address, &pinfo->dst); tpt_conv_data->receiver_tpt_port = pinfo->destport; tpt_conv_data->receiver_welcome_frame = 0; - tpt_conv_data->receiver_address.type = AT_NONE; - tpt_conv_data->receiver_address.len = 0; - tpt_conv_data->receiver_address.data = NULL; + clear_address(&tpt_conv_data->receiver_address); conversation_add_proto_data(tpt_conversation, proto_jxta, tpt_conv_data); } @@ -1332,8 +1328,8 @@ static int dissect_jxta_message(tvbuff_t * tvb, packet_info * pinfo, proto_tree if ((uri_address_type == pinfo->src.type) && (uri_address_type == pinfo->dst.type)) { jxta_tap_header *tap_header = wmem_new(wmem_file_scope(), jxta_tap_header); - tap_header->src_address = pinfo->src; - tap_header->dest_address = pinfo->dst; + copy_address_shallow(&tap_header->src_address, &pinfo->src); + copy_address_shallow(&tap_header->dest_address, &pinfo->dst); tap_header->size = offset - message_start_offset ; tap_queue_packet(jxta_tap, pinfo, tap_header); diff --git a/epan/dissectors/packet-lbtrm.c b/epan/dissectors/packet-lbtrm.c index 9d4bf35fe3..36251ef30e 100644 --- a/epan/dissectors/packet-lbtrm.c +++ b/epan/dissectors/packet-lbtrm.c @@ -59,7 +59,7 @@ static int lbtrm_tap_handle = -1; /* LBT-RM transport management. */ /*----------------------------------------------------------------------------*/ -static const address lbtrm_null_address = { AT_NONE, 0, NULL }; +static const address lbtrm_null_address = ADDRESS_INIT_NONE; static lbtrm_transport_t * lbtrm_transport_unicast_find(const address * source_address, guint16 source_port, guint32 session_id, guint32 frame) { diff --git a/epan/dissectors/packet-lbtru.c b/epan/dissectors/packet-lbtru.c index 162c198eaa..8b79178a43 100644 --- a/epan/dissectors/packet-lbtru.c +++ b/epan/dissectors/packet-lbtru.c @@ -49,7 +49,7 @@ static int lbtru_tap_handle = -1; /* LBT-RU transport management. */ /*----------------------------------------------------------------------------*/ -static const address lbtru_null_address = { AT_NONE, 0, NULL }; +static const address lbtru_null_address = ADDRESS_INIT_NONE; static lbtru_transport_t * lbtru_transport_find(const address * source_address, guint16 source_port, guint32 session_id, guint32 frame) { diff --git a/epan/dissectors/packet-lbttcp.c b/epan/dissectors/packet-lbttcp.c index 9b1bd98be5..615b760255 100644 --- a/epan/dissectors/packet-lbttcp.c +++ b/epan/dissectors/packet-lbttcp.c @@ -51,7 +51,7 @@ typedef struct wmem_tree_t * session_tree; } lbttcp_transport_conv_data_t; -static const address lbttcp_null_address = { AT_NONE, 0, NULL }; +static const address lbttcp_null_address = ADDRESS_INIT_NONE; lbttcp_transport_t * lbttcp_transport_find(const address * source_address, guint16 source_port, guint32 session_id, guint32 frame) { diff --git a/epan/dissectors/packet-maccontrol.c b/epan/dissectors/packet-maccontrol.c index a61d67939a..749872f9f9 100644 --- a/epan/dissectors/packet-maccontrol.c +++ b/epan/dissectors/packet-maccontrol.c @@ -127,7 +127,7 @@ static const value_string reg_flags_vals[] = { }; static const guint8 dst_addr[] = {0x01, 0x80, 0xC2, 0x00, 0x00, 0x01}; -static const address macctrl_dst_address = { AT_ETHER, 6, dst_addr}; +static const address macctrl_dst_address = ADDRESS_INIT(AT_ETHER, 6, dst_addr); static int dissect_macctrl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) diff --git a/epan/dissectors/packet-mgcp.c b/epan/dissectors/packet-mgcp.c index 126558db57..1e3c2f515c 100644 --- a/epan/dissectors/packet-mgcp.c +++ b/epan/dissectors/packet-mgcp.c @@ -1127,7 +1127,7 @@ static void dissect_mgcp_firstline(tvbuff_t *tvb, packet_info *pinfo, proto_tree const gchar *verb_description = ""; char code_with_verb[64] = ""; /* To fit "<4-letter-code> (<longest-verb>)" */ - static address null_address = { AT_NONE, 0, NULL }; + static address null_address = ADDRESS_INIT_NONE; tvb_previous_offset = 0; tvb_len = tvb_reported_length(tvb); tvb_current_offset = tvb_previous_offset; diff --git a/epan/dissectors/packet-mpeg-audio.c b/epan/dissectors/packet-mpeg-audio.c index 12b6a23426..7e8e026661 100644 --- a/epan/dissectors/packet-mpeg-audio.c +++ b/epan/dissectors/packet-mpeg-audio.c @@ -483,10 +483,10 @@ dissect_mpeg_audio_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) "Audio Layer %d", mpa_layer(&mpa) + 1); if (MPA_BITRATE_VALID(&mpa) && MPA_FREQUENCY_VALID(&mpa)) { data_size = (int)(MPA_DATA_BYTES(&mpa) - sizeof mpa); - set_address(&pinfo->src, AT_NONE, 0, NULL); + clear_address(&pinfo->src); col_add_fstr(pinfo->cinfo, COL_DEF_SRC, "%d kb/s", mpa_bitrate(&mpa) / 1000); - set_address(&pinfo->dst, AT_NONE, 0, NULL); + clear_address(&pinfo->dst); col_add_fstr(pinfo->cinfo, COL_DEF_DST, "%g kHz", mpa_frequency(&mpa) / (float)1000); } diff --git a/epan/dissectors/packet-ms-mms.c b/epan/dissectors/packet-ms-mms.c index f4498a16a9..85353a9166 100644 --- a/epan/dissectors/packet-ms-mms.c +++ b/epan/dissectors/packet-ms-mms.c @@ -1127,7 +1127,7 @@ static void msmms_data_add_address(packet_info *pinfo, address *addr, port_type return; } - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); /* Check if the ip address and port combination is not * already registered as a conversation. */ diff --git a/epan/dissectors/packet-msrp.c b/epan/dissectors/packet-msrp.c index 4fe1801ffb..c8b08c174f 100644 --- a/epan/dissectors/packet-msrp.c +++ b/epan/dissectors/packet-msrp.c @@ -167,7 +167,7 @@ msrp_add_address( packet_info *pinfo, return; } - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); /* * Check if the ip address and port combination is not diff --git a/epan/dissectors/packet-nbap.c b/epan/dissectors/packet-nbap.c index ec34e0d838..0383e53609 100644 --- a/epan/dissectors/packet-nbap.c +++ b/epan/dissectors/packet-nbap.c @@ -10293,7 +10293,7 @@ int i; } /*Find the conversations assoicated with the HS-DSCH flows in this packet and set proper H-RNTI*/ - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); for (i = 0; i < maxNrOfMACdFlows; i++) { if (nbap_hsdsch_channel_info[i].crnc_port != 0){ conversation = find_conversation(actx->pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr, @@ -18225,7 +18225,7 @@ guint32 no_ddi_entries, i; } /* Check if we have conversation info */ - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); p_conv = find_conversation(actx->pinfo->num, &nbap_edch_channel_info[e_dch_macdflow_id].crnc_address, &null_addr, PT_UDP, nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B); @@ -18520,7 +18520,7 @@ num_items = 1; /*Do the configurations*/ /* Check if we have conversation info */ - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); p_conv = find_conversation(actx->pinfo->num, &nbap_edch_channel_info[e_dch_macdflow_id].crnc_address, &null_addr, PT_UDP, nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B); @@ -18632,7 +18632,7 @@ BindingID_port = 0; * Basically the idea here is that we create a new converation (Which is ok? maybe?) * And then hijack the old conversation and let lower tree items configure that hijacked data. * */ - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); @@ -23340,7 +23340,7 @@ int i; return offset; } /* Set port to zero use that as an indication of whether we have data or not */ - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); for (i = 0; i < maxNrOfCommonMACFlows; i++) { if (nbap_common_channel_info[i].crnc_port != 0){ @@ -23785,7 +23785,7 @@ dissect_nbap_HSDSCH_FDD_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } /* Set port to zero use that as an indication of whether we have data or not */ - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); for (i = 0; i < maxNrOfMACdFlows; i++) { if (nbap_hsdsch_channel_info[i].crnc_port != 0){ nbap_debug("Frame %u HSDSCH-MACdFlows-Information:hsdsch_macdflow_id %u Look for conv on IP %s Port %u", @@ -24119,7 +24119,7 @@ dissect_nbap_HSDSCH_Information_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn } /* Set port to zero use that as an indication of whether we have data or not */ - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); nbap_debug("Frame %u HSDSCH-MACdFlows-Information Start", actx->pinfo->num); @@ -28660,7 +28660,7 @@ dch_id = 0xFFFFFFFF; return offset; } - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); @@ -28798,7 +28798,7 @@ BindingID_port = 0; { return offset; } - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); @@ -32367,7 +32367,7 @@ transportFormatSet_type = NBAP_CPCH; { return offset; } - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); @@ -32532,7 +32532,7 @@ num_items = 1; { return offset; } - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); @@ -32675,7 +32675,7 @@ transportFormatSet_type = NBAP_CPCH; { return offset; } - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); @@ -55205,7 +55205,7 @@ static void add_hsdsch_bind(packet_info *pinfo){ } /* Set port to zero use that as an indication of whether we have data or not */ - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); for (i = 0; i < maxNrOfMACdFlows; i++) { if (nbap_hsdsch_channel_info[i].crnc_port != 0){ conversation = find_conversation(pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr, diff --git a/epan/dissectors/packet-openflow_v4.c b/epan/dissectors/packet-openflow_v4.c index 194ab8e7ef..cb525a7a0a 100644 --- a/epan/dissectors/packet-openflow_v4.c +++ b/epan/dissectors/packet-openflow_v4.c @@ -1820,12 +1820,12 @@ dissect_openflow_packet_in_v4(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree /* save some state */ save_writable = col_get_writable(pinfo->cinfo); save_in_error_pkt = pinfo->flags.in_error_pkt; - save_dl_src = pinfo->dl_src; - save_dl_dst = pinfo->dl_dst; - save_net_src = pinfo->net_src; - save_net_dst = pinfo->net_dst; - save_src = pinfo->src; - save_dst = pinfo->dst; + copy_address_shallow(&save_dl_src, &pinfo->dl_src); + copy_address_shallow(&save_dl_dst, &pinfo->dl_dst); + copy_address_shallow(&save_net_src, &pinfo->net_src); + copy_address_shallow(&save_net_dst, &pinfo->net_dst); + copy_address_shallow(&save_src, &pinfo->src); + copy_address_shallow(&save_dst, &pinfo->dst); /* dissect data */ col_set_writable(pinfo->cinfo, FALSE); @@ -1835,12 +1835,12 @@ dissect_openflow_packet_in_v4(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree /* restore saved state */ col_set_writable(pinfo->cinfo, save_writable); pinfo->flags.in_error_pkt = save_in_error_pkt; - pinfo->dl_src = save_dl_src; - pinfo->dl_dst = save_dl_dst; - pinfo->net_src = save_net_src; - pinfo->net_dst = save_net_dst; - pinfo->src = save_src; - pinfo->dst = save_dst; + copy_address_shallow(&pinfo->dl_src, &save_dl_src); + copy_address_shallow(&pinfo->dl_dst, &save_dl_dst); + copy_address_shallow(&pinfo->net_src, &save_net_src); + copy_address_shallow(&pinfo->net_dst, &save_net_dst); + copy_address_shallow(&pinfo->src, &save_src); + copy_address_shallow(&pinfo->dst, &save_dst); } } @@ -2407,12 +2407,12 @@ dissect_openflow_packet_out_v4(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree /* save some state */ save_writable = col_get_writable(pinfo->cinfo); save_in_error_pkt = pinfo->flags.in_error_pkt; - save_dl_src = pinfo->dl_src; - save_dl_dst = pinfo->dl_dst; - save_net_src = pinfo->net_src; - save_net_dst = pinfo->net_dst; - save_src = pinfo->src; - save_dst = pinfo->dst; + copy_address_shallow(&save_dl_src, &pinfo->dl_src); + copy_address_shallow(&save_dl_dst, &pinfo->dl_dst); + copy_address_shallow(&save_net_src, &pinfo->net_src); + copy_address_shallow(&save_net_dst, &pinfo->net_dst); + copy_address_shallow(&save_src, &pinfo->src); + copy_address_shallow(&save_dst, &pinfo->dst); /* dissect data */ col_set_writable(pinfo->cinfo, FALSE); @@ -2422,12 +2422,12 @@ dissect_openflow_packet_out_v4(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree /* restore saved state */ col_set_writable(pinfo->cinfo, save_writable); pinfo->flags.in_error_pkt = save_in_error_pkt; - pinfo->dl_src = save_dl_src; - pinfo->dl_dst = save_dl_dst; - pinfo->net_src = save_net_src; - pinfo->net_dst = save_net_dst; - pinfo->src = save_src; - pinfo->dst = save_dst; + copy_address_shallow(&pinfo->dl_src, &save_dl_src); + copy_address_shallow(&pinfo->dl_dst, &save_dl_dst); + copy_address_shallow(&pinfo->net_src, &save_net_src); + copy_address_shallow(&pinfo->net_dst, &save_net_dst); + copy_address_shallow(&pinfo->src, &save_src); + copy_address_shallow(&pinfo->dst, &save_dst); } } diff --git a/epan/dissectors/packet-openflow_v5.c b/epan/dissectors/packet-openflow_v5.c index b3c69e49e1..7e12a42eab 100644 --- a/epan/dissectors/packet-openflow_v5.c +++ b/epan/dissectors/packet-openflow_v5.c @@ -2050,12 +2050,12 @@ dissect_openflow_packet_in_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree /* save some state */ save_writable = col_get_writable(pinfo->cinfo); save_in_error_pkt = pinfo->flags.in_error_pkt; - save_dl_src = pinfo->dl_src; - save_dl_dst = pinfo->dl_dst; - save_net_src = pinfo->net_src; - save_net_dst = pinfo->net_dst; - save_src = pinfo->src; - save_dst = pinfo->dst; + copy_address_shallow(&save_dl_src, &pinfo->dl_src); + copy_address_shallow(&save_dl_dst, &pinfo->dl_dst); + copy_address_shallow(&save_net_src, &pinfo->net_src); + copy_address_shallow(&save_net_dst, &pinfo->net_dst); + copy_address_shallow(&save_src, &pinfo->src); + copy_address_shallow(&save_dst, &pinfo->dst); /* dissect data */ col_set_writable(pinfo->cinfo, FALSE); @@ -2065,12 +2065,12 @@ dissect_openflow_packet_in_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree /* restore saved state */ col_set_writable(pinfo->cinfo, save_writable); pinfo->flags.in_error_pkt = save_in_error_pkt; - pinfo->dl_src = save_dl_src; - pinfo->dl_dst = save_dl_dst; - pinfo->net_src = save_net_src; - pinfo->net_dst = save_net_dst; - pinfo->src = save_src; - pinfo->dst = save_dst; + copy_address_shallow(&pinfo->dl_src, &save_dl_src); + copy_address_shallow(&pinfo->dl_dst, &save_dl_dst); + copy_address_shallow(&pinfo->net_src, &save_net_src); + copy_address_shallow(&pinfo->net_dst, &save_net_dst); + copy_address_shallow(&pinfo->src, &save_src); + copy_address_shallow(&pinfo->dst, &save_dst); } } @@ -2789,12 +2789,12 @@ dissect_openflow_packet_out_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree /* save some state */ save_writable = col_get_writable(pinfo->cinfo); save_in_error_pkt = pinfo->flags.in_error_pkt; - save_dl_src = pinfo->dl_src; - save_dl_dst = pinfo->dl_dst; - save_net_src = pinfo->net_src; - save_net_dst = pinfo->net_dst; - save_src = pinfo->src; - save_dst = pinfo->dst; + copy_address_shallow(&save_dl_src, &pinfo->dl_src); + copy_address_shallow(&save_dl_dst, &pinfo->dl_dst); + copy_address_shallow(&save_net_src, &pinfo->net_src); + copy_address_shallow(&save_net_dst, &pinfo->net_dst); + copy_address_shallow(&save_src, &pinfo->src); + copy_address_shallow(&save_dst, &pinfo->dst); /* dissect data */ col_set_writable(pinfo->cinfo, FALSE); @@ -2804,12 +2804,12 @@ dissect_openflow_packet_out_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree /* restore saved state */ col_set_writable(pinfo->cinfo, save_writable); pinfo->flags.in_error_pkt = save_in_error_pkt; - pinfo->dl_src = save_dl_src; - pinfo->dl_dst = save_dl_dst; - pinfo->net_src = save_net_src; - pinfo->net_dst = save_net_dst; - pinfo->src = save_src; - pinfo->dst = save_dst; + copy_address_shallow(&pinfo->dl_src, &save_dl_src); + copy_address_shallow(&pinfo->dl_dst, &save_dl_dst); + copy_address_shallow(&pinfo->net_src, &save_net_src); + copy_address_shallow(&pinfo->net_dst, &save_net_dst); + copy_address_shallow(&pinfo->src, &save_src); + copy_address_shallow(&pinfo->dst, &save_dst); } } diff --git a/epan/dissectors/packet-radius.c b/epan/dissectors/packet-radius.c index fb14bcb161..37ea2b4233 100644 --- a/epan/dissectors/packet-radius.c +++ b/epan/dissectors/packet-radius.c @@ -1695,7 +1695,7 @@ dissect_radius(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ radius_call_info_key radius_call_key; radius_call_info_key *new_radius_call_key; radius_call_t *radius_call = NULL; - static address null_address = { AT_NONE, 0, NULL }; + static address null_address = ADDRESS_INIT_NONE; /* does this look like radius ? */ if(!is_radius(tvb)){ diff --git a/epan/dissectors/packet-rdt.c b/epan/dissectors/packet-rdt.c index 38675a4f47..1f622723c4 100644 --- a/epan/dissectors/packet-rdt.c +++ b/epan/dissectors/packet-rdt.c @@ -242,7 +242,7 @@ void rdt_add_address(packet_info *pinfo, return; } - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); /* Check if the ip address and port combination is not already registered as a conversation. */ diff --git a/epan/dissectors/packet-rpc.c b/epan/dissectors/packet-rpc.c index bd7cfe0e3f..ffa58b1d84 100644 --- a/epan/dissectors/packet-rpc.c +++ b/epan/dissectors/packet-rpc.c @@ -1632,7 +1632,7 @@ dissect_rpc_authgss_priv_data(tvbuff_t *tvb, proto_tree *tree, int offset, return offset; } -static address null_address = { AT_NONE, 0, NULL }; +static address null_address = ADDRESS_INIT_NONE; /* * Attempt to find a conversation for a call and, if we don't find one, diff --git a/epan/dissectors/packet-rtcp.c b/epan/dissectors/packet-rtcp.c index 311a523f51..4efd72cf85 100644 --- a/epan/dissectors/packet-rtcp.c +++ b/epan/dissectors/packet-rtcp.c @@ -744,7 +744,7 @@ void srtcp_add_address( packet_info *pinfo, return; } - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); /* * Check if the ip address and port combination is not diff --git a/epan/dissectors/packet-rtp.c b/epan/dissectors/packet-rtp.c index f6568ed9f7..b207ada77f 100644 --- a/epan/dissectors/packet-rtp.c +++ b/epan/dissectors/packet-rtp.c @@ -1154,7 +1154,7 @@ bluetooth_add_address(packet_info *pinfo, address *addr, guint32 stream_number, return; } - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); /* * Check if the ip address and port combination is not @@ -1243,7 +1243,7 @@ srtp_add_address(packet_info *pinfo, address *addr, int port, int other_port, other_port, setup_method, setup_frame_number)); DINDENT(); - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); /* * Check if the ip address and port combination is not diff --git a/epan/dissectors/packet-sdp.c b/epan/dissectors/packet-sdp.c index 664083fe95..60843c42f3 100644 --- a/epan/dissectors/packet-sdp.c +++ b/epan/dissectors/packet-sdp.c @@ -1856,22 +1856,24 @@ convert_disposable_media(transport_info_t* transport_info, disposable_media_info if ((media_info->connection_address != NULL) && (media_info->connection_type != NULL)) { if (strcmp(media_info->connection_type, "IP4") == 0) { - transport_info->src_addr[transport_index].data = wmem_alloc(wmem_file_scope(), 4); - if (str_to_ip(media_info->connection_address, (void*)transport_info->src_addr[transport_index].data)) { + guint32 ip4_addr; + + if (str_to_ip(media_info->connection_address, &ip4_addr)) { /* connection_address could be converted to a valid ipv4 address*/ transport_info->proto_bitmask[transport_index] |= SDP_IPv4; - transport_info->src_addr[transport_index].type = AT_IPv4; - transport_info->src_addr[transport_index].len = 4; + alloc_address_wmem(wmem_file_scope(), &transport_info->src_addr[transport_index], + AT_IPv4, 4, &ip4_addr); DPRINT(("set SDP_IPv4 bitmask=%x, for transport_index=%d", transport_info->proto_bitmask[transport_index], transport_index)); } } else if (strcmp(media_info->connection_type, "IP6") == 0) { - transport_info->src_addr[transport_index].data = wmem_alloc(wmem_file_scope(), 16); - if (str_to_ip6(media_info->connection_address, (void*)transport_info->src_addr[transport_index].data)) { + struct e_in6_addr ip6_addr; + + if (str_to_ip6(media_info->connection_address, &ip6_addr)) { /* connection_address could be converted to a valid ipv6 address*/ transport_info->proto_bitmask[transport_index] |= SDP_IPv6; - transport_info->src_addr[transport_index].type = AT_IPv6; - transport_info->src_addr[transport_index].len = 16; + alloc_address_wmem(wmem_file_scope(), &transport_info->src_addr[transport_index], + AT_IPv6, 16, &ip6_addr); DPRINT(("set SDP_IPv6 bitmask=%x, for transport_index=%d", transport_info->proto_bitmask[transport_index], transport_index)); } diff --git a/epan/dissectors/packet-sflow.c b/epan/dissectors/packet-sflow.c index 65ad71bcba..be21e97da1 100644 --- a/epan/dissectors/packet-sflow.c +++ b/epan/dissectors/packet-sflow.c @@ -685,12 +685,12 @@ dissect_sflow_245_sampled_header(tvbuff_t *tvb, packet_info *pinfo, } col_set_writable(pinfo->cinfo, FALSE); - save_dl_src = pinfo->dl_src; - save_dl_dst = pinfo->dl_dst; - save_net_src = pinfo->net_src; - save_net_dst = pinfo->net_dst; - save_src = pinfo->src; - save_dst = pinfo->dst; + copy_address_shallow(&save_dl_src, &pinfo->dl_src); + copy_address_shallow(&save_dl_dst, &pinfo->dl_dst); + copy_address_shallow(&save_net_src, &pinfo->net_src); + copy_address_shallow(&save_net_dst, &pinfo->net_dst); + copy_address_shallow(&save_src, &pinfo->src); + copy_address_shallow(&save_dst, &pinfo->dst); TRY { @@ -708,13 +708,12 @@ dissect_sflow_245_sampled_header(tvbuff_t *tvb, packet_info *pinfo, /* restore saved state */ col_set_writable(pinfo->cinfo, save_writable); pinfo->flags.in_error_pkt = save_in_error_pkt; - - pinfo->dl_src = save_dl_src; - pinfo->dl_dst = save_dl_dst; - pinfo->net_src = save_net_src; - pinfo->net_dst = save_net_dst; - pinfo->src = save_src; - pinfo->dst = save_dst; + copy_address_shallow(&pinfo->dl_src, &save_dl_src); + copy_address_shallow(&pinfo->dl_dst, &save_dl_dst); + copy_address_shallow(&pinfo->net_src, &save_net_src); + copy_address_shallow(&pinfo->net_dst, &save_net_dst); + copy_address_shallow(&pinfo->src, &save_src); + copy_address_shallow(&pinfo->dst, &save_dst); offset += header_length; return offset; diff --git a/epan/dissectors/packet-sprt.c b/epan/dissectors/packet-sprt.c index b18e105a22..4f62ba6a02 100644 --- a/epan/dissectors/packet-sprt.c +++ b/epan/dissectors/packet-sprt.c @@ -782,7 +782,7 @@ void sprt_add_address(packet_info *pinfo, return; } - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); /* * Check if the ip address and port combination is not diff --git a/epan/dissectors/packet-ssl-utils.c b/epan/dissectors/packet-ssl-utils.c index b223eae248..dc7de47fbf 100644 --- a/epan/dissectors/packet-ssl-utils.c +++ b/epan/dissectors/packet-ssl-utils.c @@ -4063,7 +4063,7 @@ ssl_get_session(conversation_t *conversation, dissector_handle_t ssl_handle) /* Initialize parameters which are not necessary specific to decryption. */ ssl_session->session.version = SSL_VER_UNKNOWN; - set_address(&ssl_session->session.srv_addr, AT_NONE, 0, NULL); + clear_address(&ssl_session->session.srv_addr); ssl_session->session.srv_ptype = PT_NONE; ssl_session->session.srv_port = 0; diff --git a/epan/dissectors/packet-t38.c b/epan/dissectors/packet-t38.c index 8a3a49f284..c4e6e5f1f9 100644 --- a/epan/dissectors/packet-t38.c +++ b/epan/dissectors/packet-t38.c @@ -274,7 +274,7 @@ void t38_add_address(packet_info *pinfo, return; } - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); /* * Check if the ip address and port combination is not diff --git a/epan/dissectors/packet-teamspeak2.c b/epan/dissectors/packet-teamspeak2.c index cdbe67abf4..3febde13f3 100644 --- a/epan/dissectors/packet-teamspeak2.c +++ b/epan/dissectors/packet-teamspeak2.c @@ -735,7 +735,7 @@ static int dissect_ts2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void switch(type) { case TS2T_LOGINREQUEST: conversation_data->server_port=pinfo->destport; - conversation_data->server_addr=pinfo->dst; + copy_address_shallow(&conversation_data->server_addr, &pinfo->dst); break; } break; @@ -783,7 +783,7 @@ static int dissect_ts2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void proto_tree_add_item(ts2_tree, hf_ts2_nick, tvb, 150, 1, ENC_ASCII|ENC_BIG_ENDIAN); conversation_data->server_port=pinfo->destport; - conversation_data->server_addr=pinfo->dst; + copy_address_shallow(&conversation_data->server_addr, &pinfo->dst); break; case TS2T_LOGINREPLY: diff --git a/epan/dissectors/packet-uma.c b/epan/dissectors/packet-uma.c index 87eb08c496..9822fe3811 100644 --- a/epan/dissectors/packet-uma.c +++ b/epan/dissectors/packet-uma.c @@ -1479,7 +1479,7 @@ dissect_uma_IE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset) { break; } - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); set_address(&dst_addr, AT_IPv4, 4, &GPRS_user_data_ipv4_address); @@ -1511,7 +1511,7 @@ dissect_uma_IE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset) { break; } - set_address(&null_addr, AT_NONE, 0, NULL); + clear_address(&null_addr); set_address(&dst_addr, AT_IPv4, 4, &unc_ipv4_address); @@ -1541,7 +1541,7 @@ dissect_uma_IE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset) set_address(&src_addr, AT_IPv4, 4, &unc_ipv4_address); }else{ /* Set Source IP = own IP */ - src_addr = pinfo->src; + copy_address_shallow(&src_addr, &pinfo->src); } if((!pinfo->fd->flags.visited) && RTP_UDP_port!=0){ diff --git a/epan/dissectors/packet-vuze-dht.c b/epan/dissectors/packet-vuze-dht.c index 817f4c1766..30d8cf4f94 100644 --- a/epan/dissectors/packet-vuze-dht.c +++ b/epan/dissectors/packet-vuze-dht.c @@ -346,7 +346,7 @@ dissect_vuze_dht_address(tvbuff_t *tvb, packet_info _U_*pinfo, proto_tree *tree, set_address_tvb( &addr, AT_IPv6, ip_length, tvb, offset); break; default: - addr.type = AT_NONE; + clear_address(&addr); break; } offset += ip_length; |