diff options
author | João Valverde <j@v6e.pt> | 2016-02-08 00:43:56 +0000 |
---|---|---|
committer | João Valverde <j@v6e.pt> | 2016-02-08 00:44:22 +0000 |
commit | ef929dc8eb8c61d5829132d2da2a3061df44bba9 (patch) | |
tree | 6dc7fb0abec832c1b336580bfeaec70717f0a76f /epan/dissectors | |
parent | 8df2857bc1082797cc7052eb5a6ebb45ac92e4b9 (diff) |
Revert "Add free_address_wmem() and other extensions to address API"
This reverts commit 13ec77a9fc3af3b0b502820d0b55796c89997896.
This commit introduces a segmentation fault for Lua code (uncovered by the test suite).
Change-Id: Ibc273d1915cda9632697b9f138f0ae104d3fb65e
Reviewed-on: https://code.wireshark.org/review/13813
Reviewed-by: João Valverde <j@v6e.pt>
Diffstat (limited to 'epan/dissectors')
33 files changed, 161 insertions, 154 deletions
diff --git a/epan/dissectors/packet-dcerpc.c b/epan/dissectors/packet-dcerpc.c index c592f13368..253f695856 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; - free_address(&binding->addr_a); - free_address(&binding->addr_b); + g_free((void *) binding->addr_a.data); + g_free((void *) binding->addr_b.data); 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); - free_address(&old_binding->addr_a); - free_address(&old_binding->addr_b); + g_free((void *) old_binding->addr_a.data); + g_free((void *) old_binding->addr_b.data); 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; - copy_address_shallow(&key->src, &pinfo->src); - copy_address_shallow(&key->dst, &pinfo->dst); + key->src = pinfo->src; + 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. */ - free_address(&key->src); - free_address(&key->dst); + g_free((gpointer)key->src.data); + g_free((gpointer)key->dst.data); g_slice_free(dcerpc_fragment_key, key); } diff --git a/epan/dissectors/packet-dcom.c b/epan/dissectors/packet-dcom.c index b4a8181e3b..e41a12e0af 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); - free_address(&machine->ip); + g_free((void*)machine->ip.data); machine->objects = NULL; /* for good measure */ } diff --git a/epan/dissectors/packet-dvbci.c b/epan/dissectors/packet-dvbci.c index d42c70cdce..310d50f9b8 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 = ADDRESS_INIT(AT_STRINGZ, sizeof(ADDR_CAM), ADDR_CAM); - static const address a_host = ADDRESS_INIT(AT_STRINGZ, sizeof(ADDR_HOST), ADDR_HOST); + static const address a_cam = { AT_STRINGZ, sizeof(ADDR_CAM), ADDR_CAM }; + static const address a_host = { 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 2f09eccde9..fb8fb8302a 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)) - copy_address_shallow(&connInfo->O2T.ipaddress, &pinfo->src); + 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)) - copy_address_shallow(&connInfo->T2O.ipaddress, &pinfo->dst); + connInfo->T2O.ipaddress = pinfo->dst; if (connInfo->O2T.ipaddress.type == AT_IPv6) { @@ -2576,17 +2576,24 @@ 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 = 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); + request_info->cip_info->connInfo->O2T.port = port; + set_address(&request_info->cip_info->connInfo->O2T.ipaddress, + AT_IPv4, sizeof(guint32), datap); } else { - 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); + request_info->cip_info->connInfo->T2O.port = port; + set_address(&request_info->cip_info->connInfo->T2O.ipaddress, + AT_IPv4, sizeof(guint32), datap); } } } diff --git a/epan/dissectors/packet-forces.c b/epan/dissectors/packet-forces.c index b1a56b630d..237c28ce75 100644 --- a/epan/dissectors/packet-forces.c +++ b/epan/dissectors/packet-forces.c @@ -411,13 +411,10 @@ 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, 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); + address src_addr = pinfo->src, + src_net_addr = pinfo->net_src, + dst_addr = pinfo->dst, + 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"); @@ -479,10 +476,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 */ - 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); + 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)); } } } diff --git a/epan/dissectors/packet-ftp.c b/epan/dissectors/packet-ftp.c index caa9c3147d..6487d2e9b1 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; - copy_address_shallow(&ftp_ip_address, &pinfo->src); + 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 fd519d2c33..1509988517 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. */ - 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); + 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); 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 a5eee78cae..1158673a85 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) { - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); 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)); - clear_address(&decr->initiator); + set_address(&decr->initiator, AT_NONE, 0, NULL); g_hash_table_insert(isakmp_hash, ic_key, decr); } diff --git a/epan/dissectors/packet-jxta.c b/epan/dissectors/packet-jxta.c index ab7a1c4c2a..fb98d01d77 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)); */ - copy_address_shallow(&pinfo->src, &tpt_conv_data->initiator_address); + pinfo->src = tpt_conv_data->initiator_address; pinfo->srcport = 0; - copy_address_shallow(&pinfo->dst, &tpt_conv_data->receiver_address); + 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)); */ - copy_address_shallow(&pinfo->src, &tpt_conv_data->receiver_address); + pinfo->src = tpt_conv_data->receiver_address; pinfo->srcport = 0; - copy_address_shallow(&pinfo->dst, &tpt_conv_data->initiator_address); + pinfo->dst = tpt_conv_data->initiator_address; pinfo->destport = 0; pinfo->ptype = PT_NONE; } else { @@ -768,12 +768,16 @@ 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; - clear_address(&tpt_conv_data->initiator_address); + tpt_conv_data->initiator_address.type = AT_NONE; + tpt_conv_data->initiator_address.len = 0; + tpt_conv_data->initiator_address.data = NULL; 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; - clear_address(&tpt_conv_data->receiver_address); + tpt_conv_data->receiver_address.type = AT_NONE; + tpt_conv_data->receiver_address.len = 0; + tpt_conv_data->receiver_address.data = NULL; conversation_add_proto_data(tpt_conversation, proto_jxta, tpt_conv_data); } @@ -1328,8 +1332,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); - copy_address_shallow(&tap_header->src_address, &pinfo->src); - copy_address_shallow(&tap_header->dest_address, &pinfo->dst); + tap_header->src_address = pinfo->src; + 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 36251ef30e..9d4bf35fe3 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 = ADDRESS_INIT_NONE; +static const address lbtrm_null_address = { AT_NONE, 0, NULL }; 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 8b79178a43..162c198eaa 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 = ADDRESS_INIT_NONE; +static const address lbtru_null_address = { AT_NONE, 0, NULL }; 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 615b760255..9b1bd98be5 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 = ADDRESS_INIT_NONE; +static const address lbttcp_null_address = { AT_NONE, 0, NULL }; 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 749872f9f9..a61d67939a 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 = ADDRESS_INIT(AT_ETHER, 6, dst_addr); +static const address macctrl_dst_address = { 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 1e3c2f515c..126558db57 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 = ADDRESS_INIT_NONE; + static address null_address = { AT_NONE, 0, NULL }; 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 7e8e026661..12b6a23426 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); - clear_address(&pinfo->src); + set_address(&pinfo->src, AT_NONE, 0, NULL); col_add_fstr(pinfo->cinfo, COL_DEF_SRC, "%d kb/s", mpa_bitrate(&mpa) / 1000); - clear_address(&pinfo->dst); + set_address(&pinfo->dst, AT_NONE, 0, NULL); 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 85353a9166..f4498a16a9 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; } - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); /* 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 c8b08c174f..4fe1801ffb 100644 --- a/epan/dissectors/packet-msrp.c +++ b/epan/dissectors/packet-msrp.c @@ -167,7 +167,7 @@ msrp_add_address( packet_info *pinfo, return; } - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); /* * 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 0383e53609..ec34e0d838 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*/ - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); 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 */ - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); 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 */ - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); 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. * */ - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); 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 */ - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); 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 */ - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); 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 */ - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); nbap_debug("Frame %u HSDSCH-MACdFlows-Information Start", actx->pinfo->num); @@ -28660,7 +28660,7 @@ dch_id = 0xFFFFFFFF; return offset; } - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); @@ -28798,7 +28798,7 @@ BindingID_port = 0; { return offset; } - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); @@ -32367,7 +32367,7 @@ transportFormatSet_type = NBAP_CPCH; { return offset; } - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); @@ -32532,7 +32532,7 @@ num_items = 1; { return offset; } - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); @@ -32675,7 +32675,7 @@ transportFormatSet_type = NBAP_CPCH; { return offset; } - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); 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 */ - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); 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 cb525a7a0a..194ab8e7ef 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; - 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); + 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; /* 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; - 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); + 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; } } @@ -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; - 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); + 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; /* 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; - 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); + 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; } } diff --git a/epan/dissectors/packet-openflow_v5.c b/epan/dissectors/packet-openflow_v5.c index 7e12a42eab..b3c69e49e1 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; - 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); + 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; /* 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; - 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); + 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; } } @@ -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; - 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); + 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; /* 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; - 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); + 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; } } diff --git a/epan/dissectors/packet-radius.c b/epan/dissectors/packet-radius.c index 37ea2b4233..fb14bcb161 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 = ADDRESS_INIT_NONE; + static address null_address = { AT_NONE, 0, NULL }; /* does this look like radius ? */ if(!is_radius(tvb)){ diff --git a/epan/dissectors/packet-rdt.c b/epan/dissectors/packet-rdt.c index 1f622723c4..38675a4f47 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; } - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); /* 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 ffa58b1d84..bd7cfe0e3f 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 = ADDRESS_INIT_NONE; +static address null_address = { AT_NONE, 0, NULL }; /* * 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 4efd72cf85..311a523f51 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; } - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); /* * 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 b207ada77f..f6568ed9f7 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; } - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); /* * 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(); - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); /* * 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 60843c42f3..664083fe95 100644 --- a/epan/dissectors/packet-sdp.c +++ b/epan/dissectors/packet-sdp.c @@ -1856,24 +1856,22 @@ 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) { - guint32 ip4_addr; - - if (str_to_ip(media_info->connection_address, &ip4_addr)) { + 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)) { /* connection_address could be converted to a valid ipv4 address*/ transport_info->proto_bitmask[transport_index] |= SDP_IPv4; - alloc_address_wmem(wmem_file_scope(), &transport_info->src_addr[transport_index], - AT_IPv4, 4, &ip4_addr); + transport_info->src_addr[transport_index].type = AT_IPv4; + transport_info->src_addr[transport_index].len = 4; 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) { - struct e_in6_addr ip6_addr; - - if (str_to_ip6(media_info->connection_address, &ip6_addr)) { + 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)) { /* connection_address could be converted to a valid ipv6 address*/ transport_info->proto_bitmask[transport_index] |= SDP_IPv6; - alloc_address_wmem(wmem_file_scope(), &transport_info->src_addr[transport_index], - AT_IPv6, 16, &ip6_addr); + transport_info->src_addr[transport_index].type = AT_IPv6; + transport_info->src_addr[transport_index].len = 16; 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 be21e97da1..65ad71bcba 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); - 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); + 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; TRY { @@ -708,12 +708,13 @@ 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; - 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); + + 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; offset += header_length; return offset; diff --git a/epan/dissectors/packet-sprt.c b/epan/dissectors/packet-sprt.c index 4f62ba6a02..b18e105a22 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; } - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); /* * 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 dc7de47fbf..b223eae248 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; - clear_address(&ssl_session->session.srv_addr); + set_address(&ssl_session->session.srv_addr, AT_NONE, 0, NULL); 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 c4e6e5f1f9..8a3a49f284 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; } - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); /* * 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 3febde13f3..cdbe67abf4 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; - copy_address_shallow(&conversation_data->server_addr, &pinfo->dst); + 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; - copy_address_shallow(&conversation_data->server_addr, &pinfo->dst); + 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 9822fe3811..87eb08c496 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; } - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); 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; } - clear_address(&null_addr); + set_address(&null_addr, AT_NONE, 0, NULL); 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 */ - copy_address_shallow(&src_addr, &pinfo->src); + 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 30d8cf4f94..817f4c1766 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: - clear_address(&addr); + addr.type = AT_NONE; break; } offset += ip_length; |