diff options
Diffstat (limited to 'epan/dissectors')
33 files changed, 85 insertions, 95 deletions
diff --git a/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c b/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c index 54ef076af1..09947f8c31 100644 --- a/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c +++ b/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c @@ -4567,10 +4567,10 @@ proto_reg_handoff_ansi_map(void) else { range_foreach(ssn_range, range_delete_callback); - g_free(ssn_range); + wmem_free(wmem_epan_scope(), ssn_range); } - ssn_range = range_copy(global_ssn_range); + ssn_range = range_copy(wmem_epan_scope(), global_ssn_range); range_foreach(ssn_range, range_add_callback); } @@ -5485,7 +5485,7 @@ void proto_register_ansi_map(void) { ansi_map_tap = register_tap("ansi_map"); - range_convert_str(&global_ssn_range, "5-14", MAX_SSN); + range_convert_str(wmem_epan_scope(), &global_ssn_range, "5-14", MAX_SSN); ansi_map_module = prefs_register_protocol(proto_ansi_map, proto_reg_handoff_ansi_map); diff --git a/epan/dissectors/asn1/camel/packet-camel-template.c b/epan/dissectors/asn1/camel/packet-camel-template.c index f12a63c4b4..78df8f9bc3 100644 --- a/epan/dissectors/asn1/camel/packet-camel-template.c +++ b/epan/dissectors/asn1/camel/packet-camel-template.c @@ -1327,10 +1327,10 @@ void proto_reg_handoff_camel(void) { #include "packet-camel-dis-tab.c" } else { range_foreach(ssn_range, range_delete_callback); - g_free(ssn_range); + wmem_free(wmem_epan_scope(), ssn_range); } - ssn_range = range_copy(global_ssn_range); + ssn_range = range_copy(wmem_epan_scope(), global_ssn_range); range_foreach(ssn_range, range_add_callback); @@ -1572,7 +1572,7 @@ void proto_register_camel(void) { /* Register our configuration options, particularly our SSNs */ /* Set default SSNs */ - range_convert_str(&global_ssn_range, "146", MAX_SSN); + range_convert_str(wmem_epan_scope(), &global_ssn_range, "146", MAX_SSN); camel_module = prefs_register_protocol(proto_camel, proto_reg_handoff_camel); diff --git a/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c b/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c index bff2990d4e..ce83d1c861 100644 --- a/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c +++ b/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c @@ -2749,10 +2749,10 @@ void proto_reg_handoff_gsm_map(void) { } else { range_foreach(ssn_range, range_delete_callback); - g_free(ssn_range); + wmem_free(wmem_epan_scope(), ssn_range); } - ssn_range = range_copy(global_ssn_range); + ssn_range = range_copy(wmem_epan_scope(), global_ssn_range); range_foreach(ssn_range, range_add_callback); } @@ -3153,7 +3153,7 @@ void proto_register_gsm_map(void) { * Register our configuration options, particularly our ssn:s * Set default SSNs */ - range_convert_str(&global_ssn_range, "6-9", MAX_SSN); + range_convert_str(wmem_epan_scope(), &global_ssn_range, "6-9", MAX_SSN); gsm_map_module = prefs_register_protocol(proto_gsm_map, proto_reg_handoff_gsm_map); diff --git a/epan/dissectors/asn1/inap/packet-inap-template.c b/epan/dissectors/asn1/inap/packet-inap-template.c index 626013fae2..16b7e543f5 100644 --- a/epan/dissectors/asn1/inap/packet-inap-template.c +++ b/epan/dissectors/asn1/inap/packet-inap-template.c @@ -185,10 +185,10 @@ void proto_reg_handoff_inap(void) { } else { range_foreach(ssn_range, range_delete_callback); - g_free(ssn_range); + wmem_free(wmem_epan_scope(), ssn_range); } - ssn_range = range_copy(global_ssn_range); + ssn_range = range_copy(wmem_epan_scope(), global_ssn_range); range_foreach(ssn_range, range_add_callback); @@ -244,7 +244,7 @@ void proto_register_inap(void) { register_ber_oid_dissector("0.4.0.1.1.1.0.0", dissect_inap, proto_inap, "cs1-ssp-to-scp"); /* Set default SSNs */ - range_convert_str(&global_ssn_range, "106,241", MAX_SSN); + range_convert_str(wmem_epan_scope(), &global_ssn_range, "106,241", MAX_SSN); inap_module = prefs_register_protocol(proto_inap, proto_reg_handoff_inap); diff --git a/epan/dissectors/asn1/pcap/packet-pcap-template.c b/epan/dissectors/asn1/pcap/packet-pcap-template.c index 7748a984dd..a3531de7ae 100644 --- a/epan/dissectors/asn1/pcap/packet-pcap-template.c +++ b/epan/dissectors/asn1/pcap/packet-pcap-template.c @@ -154,9 +154,9 @@ proto_reg_handoff_pcap(void) #include "packet-pcap-dis-tab.c" } else { dissector_delete_uint_range("sccp.ssn", ssn_range, pcap_handle); - g_free(ssn_range); + wmem_free(wmem_epan_scope(), ssn_range); } - ssn_range = range_copy(global_ssn_range); + ssn_range = range_copy(wmem_epan_scope(), global_ssn_range); dissector_add_uint_range("sccp.ssn", ssn_range, pcap_handle); } @@ -202,7 +202,7 @@ void proto_register_pcap(void) { /* Preferences */ /* Set default SSNs */ - range_convert_str(&global_ssn_range, "", MAX_SSN); + range_convert_str(wmem_epan_scope(), &global_ssn_range, "", MAX_SSN); prefs_register_range_preference(pcap_module, "ssn", "SCCP SSNs", "SCCP (and SUA) SSNs to decode as PCAP", diff --git a/epan/dissectors/asn1/tcap/packet-tcap-template.c b/epan/dissectors/asn1/tcap/packet-tcap-template.c index e64e57de8e..b67f0f43ab 100644 --- a/epan/dissectors/asn1/tcap/packet-tcap-template.c +++ b/epan/dissectors/asn1/tcap/packet-tcap-template.c @@ -2101,7 +2101,7 @@ proto_register_tcap(void) #endif /* Set default SSNs */ - range_convert_str(&global_ssn_range, "", MAX_SSN); + range_convert_str(wmem_epan_scope(), &global_ssn_range, "", MAX_SSN); prefs_register_range_preference(tcap_module, "ssn", "SCCP SSNs", "SCCP (and SUA) SSNs to decode as TCAP", @@ -2154,7 +2154,7 @@ static void range_add_callback(guint32 ssn) static void init_tcap(void) { - ssn_range = range_copy(global_ssn_range); + ssn_range = range_copy(wmem_epan_scope(), global_ssn_range); range_foreach(ssn_range, range_add_callback); tcapsrt_init_routine(); } @@ -2162,7 +2162,7 @@ static void init_tcap(void) static void cleanup_tcap(void) { range_foreach(ssn_range, range_delete_callback); - g_free(ssn_range); + wmem_free(wmem_epan_scope(), ssn_range); } static int diff --git a/epan/dissectors/packet-ansi_map.c b/epan/dissectors/packet-ansi_map.c index 78002f3501..7903182ddc 100644 --- a/epan/dissectors/packet-ansi_map.c +++ b/epan/dissectors/packet-ansi_map.c @@ -16216,10 +16216,10 @@ proto_reg_handoff_ansi_map(void) else { range_foreach(ssn_range, range_delete_callback); - g_free(ssn_range); + wmem_free(wmem_epan_scope(), ssn_range); } - ssn_range = range_copy(global_ssn_range); + ssn_range = range_copy(wmem_epan_scope(), global_ssn_range); range_foreach(ssn_range, range_add_callback); } @@ -19555,7 +19555,7 @@ void proto_register_ansi_map(void) { ansi_map_tap = register_tap("ansi_map"); - range_convert_str(&global_ssn_range, "5-14", MAX_SSN); + range_convert_str(wmem_epan_scope(), &global_ssn_range, "5-14", MAX_SSN); ansi_map_module = prefs_register_protocol(proto_ansi_map, proto_reg_handoff_ansi_map); diff --git a/epan/dissectors/packet-camel.c b/epan/dissectors/packet-camel.c index c8644c82b8..c955bd3fb5 100644 --- a/epan/dissectors/packet-camel.c +++ b/epan/dissectors/packet-camel.c @@ -8296,10 +8296,10 @@ void proto_reg_handoff_camel(void) { #line 1328 "./asn1/camel/packet-camel-template.c" } else { range_foreach(ssn_range, range_delete_callback); - g_free(ssn_range); + wmem_free(wmem_epan_scope(), ssn_range); } - ssn_range = range_copy(global_ssn_range); + ssn_range = range_copy(wmem_epan_scope(), global_ssn_range); range_foreach(ssn_range, range_add_callback); @@ -10691,7 +10691,7 @@ void proto_register_camel(void) { /* Register our configuration options, particularly our SSNs */ /* Set default SSNs */ - range_convert_str(&global_ssn_range, "146", MAX_SSN); + range_convert_str(wmem_epan_scope(), &global_ssn_range, "146", MAX_SSN); camel_module = prefs_register_protocol(proto_camel, proto_reg_handoff_camel); diff --git a/epan/dissectors/packet-diameter.c b/epan/dissectors/packet-diameter.c index 6e8e909b43..de8efcbf44 100644 --- a/epan/dissectors/packet-diameter.c +++ b/epan/dissectors/packet-diameter.c @@ -2332,7 +2332,7 @@ proto_register_diameter(void) diameter_expr_result_vnd_table = register_dissector_table("diameter.vnd_exp_res", "DIAMETER Experimental-Result-Code", proto_diameter, FT_UINT32, BASE_DEC); /* Set default TCP ports */ - range_convert_str(&global_diameter_sctp_port_range, DEFAULT_DIAMETER_PORT_RANGE, MAX_SCTP_PORT); + range_convert_str(wmem_epan_scope(), &global_diameter_sctp_port_range, DEFAULT_DIAMETER_PORT_RANGE, MAX_SCTP_PORT); /* Register configuration options for ports */ diameter_module = prefs_register_protocol(proto_diameter, proto_reg_handoff_diameter); @@ -2420,11 +2420,11 @@ proto_reg_handoff_diameter(void) Initialized=TRUE; } else { dissector_delete_uint_range("sctp.port", diameter_sctp_port_range, diameter_sctp_handle); - g_free(diameter_sctp_port_range); + wmem_free(wmem_epan_scope(), diameter_sctp_port_range); } /* set port for future deletes */ - diameter_sctp_port_range = range_copy(global_diameter_sctp_port_range); + diameter_sctp_port_range = range_copy(wmem_epan_scope(), global_diameter_sctp_port_range); dissector_add_uint_range("sctp.port", diameter_sctp_port_range, diameter_sctp_handle); exported_pdu_tap = find_tap_id(EXPORT_PDU_TAP_NAME_LAYER_7); diff --git a/epan/dissectors/packet-gopher.c b/epan/dissectors/packet-gopher.c index 79003540f1..43e632ad55 100644 --- a/epan/dissectors/packet-gopher.c +++ b/epan/dissectors/packet-gopher.c @@ -203,7 +203,6 @@ dissect_gopher(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ static void gopher_prefs_apply(void) { - g_free(gopher_tcp_range); gopher_tcp_range = prefs_get_range_value("gopher", "tcp.port"); } diff --git a/epan/dissectors/packet-gsm_map.c b/epan/dissectors/packet-gsm_map.c index 9f70cd7525..83714dc321 100644 --- a/epan/dissectors/packet-gsm_map.c +++ b/epan/dissectors/packet-gsm_map.c @@ -23088,10 +23088,10 @@ void proto_reg_handoff_gsm_map(void) { } else { range_foreach(ssn_range, range_delete_callback); - g_free(ssn_range); + wmem_free(wmem_epan_scope(), ssn_range); } - ssn_range = range_copy(global_ssn_range); + ssn_range = range_copy(wmem_epan_scope(), global_ssn_range); range_foreach(ssn_range, range_add_callback); } @@ -31230,7 +31230,7 @@ void proto_register_gsm_map(void) { * Register our configuration options, particularly our ssn:s * Set default SSNs */ - range_convert_str(&global_ssn_range, "6-9", MAX_SSN); + range_convert_str(wmem_epan_scope(), &global_ssn_range, "6-9", MAX_SSN); gsm_map_module = prefs_register_protocol(proto_gsm_map, proto_reg_handoff_gsm_map); diff --git a/epan/dissectors/packet-h264.c b/epan/dissectors/packet-h264.c index 1eb3de874f..133c817a7e 100644 --- a/epan/dissectors/packet-h264.c +++ b/epan/dissectors/packet-h264.c @@ -3730,10 +3730,10 @@ proto_reg_handoff_h264(void) h264_prefs_initialized = TRUE; } else { range_foreach(dynamic_payload_type_range, range_delete_h264_rtp_pt_callback); - g_free(dynamic_payload_type_range); + wmem_free(wmem_epan_scope(), dynamic_payload_type_range); } - dynamic_payload_type_range = range_copy(temp_dynamic_payload_type_range); + dynamic_payload_type_range = range_copy(wmem_epan_scope(), temp_dynamic_payload_type_range); range_foreach(dynamic_payload_type_range, range_add_h264_rtp_pt_callback); } diff --git a/epan/dissectors/packet-http.c b/epan/dissectors/packet-http.c index 4deb3f83f2..64d1133c0e 100644 --- a/epan/dissectors/packet-http.c +++ b/epan/dissectors/packet-http.c @@ -3295,17 +3295,16 @@ range_add_http_ssl_callback(guint32 port) { } static void reinit_http(void) { - g_free(http_tcp_range); http_tcp_range = prefs_get_range_value("http", "tcp.port"); dissector_delete_uint_range("sctp.port", http_sctp_range, http_sctp_handle); - g_free(http_sctp_range); - http_sctp_range = range_copy(global_http_sctp_range); + wmem_free(wmem_epan_scope(), http_sctp_range); + http_sctp_range = range_copy(wmem_epan_scope(), global_http_sctp_range); dissector_add_uint_range("sctp.port", http_sctp_range, http_sctp_handle); range_foreach(http_ssl_range, range_delete_http_ssl_callback); - g_free(http_ssl_range); - http_ssl_range = range_copy(global_http_ssl_range); + wmem_free(wmem_epan_scope(), http_ssl_range); + http_ssl_range = range_copy(wmem_epan_scope(), global_http_ssl_range); range_foreach(http_ssl_range, range_add_http_ssl_callback); } @@ -3652,14 +3651,12 @@ proto_register_http(void) #endif prefs_register_obsolete_preference(http_module, "tcp_alternate_port"); - range_convert_str(&global_http_sctp_range, SCTP_DEFAULT_RANGE, 65535); - http_sctp_range = range_empty(); + range_convert_str(wmem_epan_scope(), &global_http_sctp_range, SCTP_DEFAULT_RANGE, 65535); prefs_register_range_preference(http_module, "sctp.port", "SCTP Ports", "SCTP Ports range", &global_http_sctp_range, 65535); - range_convert_str(&global_http_ssl_range, SSL_DEFAULT_RANGE, 65535); - http_ssl_range = range_empty(); + range_convert_str(wmem_epan_scope(), &global_http_ssl_range, SSL_DEFAULT_RANGE, 65535); prefs_register_range_preference(http_module, "ssl.port", "SSL/TLS Ports", "SSL/TLS Ports range", &global_http_ssl_range, 65535); diff --git a/epan/dissectors/packet-igmp.c b/epan/dissectors/packet-igmp.c index 51ca96bdeb..1db84fd413 100644 --- a/epan/dissectors/packet-igmp.c +++ b/epan/dissectors/packet-igmp.c @@ -1119,10 +1119,10 @@ proto_reg_handoff_igmp(void) dissector_add_uint("ip.proto", IP_PROTO_IGMP, igmp_handle); /* IGMP v0 */ - range_convert_str(&igmpv0_range, "0-15", 15); + range_convert_str(NULL, &igmpv0_range, "0-15", 15); igmpv0_handle = create_dissector_handle(dissect_igmp_v0, proto_igmp); dissector_add_uint_range("igmp.type", igmpv0_range, igmpv0_handle); - g_free(igmpv0_range); + wmem_free(NULL, igmpv0_range); /* IGMP v1 */ igmpv1_handle = create_dissector_handle(dissect_igmp_v1, proto_igmp); diff --git a/epan/dissectors/packet-inap.c b/epan/dissectors/packet-inap.c index 7bee59f799..2e619c0697 100644 --- a/epan/dissectors/packet-inap.c +++ b/epan/dissectors/packet-inap.c @@ -9422,10 +9422,10 @@ void proto_reg_handoff_inap(void) { } else { range_foreach(ssn_range, range_delete_callback); - g_free(ssn_range); + wmem_free(wmem_epan_scope(), ssn_range); } - ssn_range = range_copy(global_ssn_range); + ssn_range = range_copy(wmem_epan_scope(), global_ssn_range); range_foreach(ssn_range, range_add_callback); @@ -11967,7 +11967,7 @@ void proto_register_inap(void) { register_ber_oid_dissector("0.4.0.1.1.1.0.0", dissect_inap, proto_inap, "cs1-ssp-to-scp"); /* Set default SSNs */ - range_convert_str(&global_ssn_range, "106,241", MAX_SSN); + range_convert_str(wmem_epan_scope(), &global_ssn_range, "106,241", MAX_SSN); inap_module = prefs_register_protocol(proto_inap, proto_reg_handoff_inap); diff --git a/epan/dissectors/packet-iscsi.c b/epan/dissectors/packet-iscsi.c index f5d44d6f53..9d9dcacba3 100644 --- a/epan/dissectors/packet-iscsi.c +++ b/epan/dissectors/packet-iscsi.c @@ -3131,7 +3131,7 @@ proto_register_iscsi(void) 10, &bogus_pdu_data_length_threshold); - range_convert_str(&global_iscsi_port_range, TCP_PORT_ISCSI_RANGE, MAX_TCP_PORT); + range_convert_str(wmem_epan_scope(), &global_iscsi_port_range, TCP_PORT_ISCSI_RANGE, MAX_TCP_PORT); prefs_register_range_preference(iscsi_module, "target_ports", "Target Ports Range", diff --git a/epan/dissectors/packet-iser.c b/epan/dissectors/packet-iser.c index f5edbebb7d..9e0f4bb239 100644 --- a/epan/dissectors/packet-iser.c +++ b/epan/dissectors/packet-iser.c @@ -348,7 +348,7 @@ proto_register_iser(void) prefs_register_obsolete_preference(iser_module, "addr_b_id"); prefs_register_obsolete_preference(iser_module, "addr_b_qp"); - range_convert_str(&gPORT_RANGE, TCP_PORT_ISER_RANGE, MAX_TCP_PORT); + range_convert_str(wmem_epan_scope(), &gPORT_RANGE, TCP_PORT_ISER_RANGE, MAX_TCP_PORT); prefs_register_range_preference(iser_module, "target_ports", "Target Ports Range", diff --git a/epan/dissectors/packet-kafka.c b/epan/dissectors/packet-kafka.c index e85a208e7e..4b2e163895 100644 --- a/epan/dissectors/packet-kafka.c +++ b/epan/dissectors/packet-kafka.c @@ -3400,7 +3400,6 @@ dissect_kafka_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, static void apply_kafka_prefs(void) { - g_free(current_kafka_tcp_range); current_kafka_tcp_range = prefs_get_range_value("kafka", "tcp.port"); } diff --git a/epan/dissectors/packet-netflow.c b/epan/dissectors/packet-netflow.c index 6754882c05..bee1d70cc7 100644 --- a/epan/dissectors/packet-netflow.c +++ b/epan/dissectors/packet-netflow.c @@ -12011,8 +12011,8 @@ proto_register_netflow(void) netflow_module = prefs_register_protocol(proto_netflow, proto_reg_handoff_netflow); /* Set default Netflow port(s) */ - range_convert_str(&global_netflow_ports, NETFLOW_UDP_PORTS, MAX_UDP_PORT); - range_convert_str(&global_ipfix_ports, IPFIX_UDP_PORTS, MAX_UDP_PORT); + range_convert_str(wmem_epan_scope(), &global_netflow_ports, NETFLOW_UDP_PORTS, MAX_UDP_PORT); + range_convert_str(wmem_epan_scope(), &global_ipfix_ports, IPFIX_UDP_PORTS, MAX_UDP_PORT); prefs_register_obsolete_preference(netflow_module, "udp.port"); @@ -12075,13 +12075,13 @@ proto_reg_handoff_netflow(void) dissector_add_uint_range_with_preference("tcp.port", IPFIX_UDP_PORTS, netflow_handle); } else { dissector_delete_uint_range("udp.port", netflow_ports, netflow_handle); - g_free(netflow_ports); + wmem_free(wmem_epan_scope(), netflow_ports); range_foreach(ipfix_ports, ipfix_delete_callback); - g_free(ipfix_ports); + wmem_free(wmem_epan_scope(), ipfix_ports); } - netflow_ports = range_copy(global_netflow_ports); - ipfix_ports = range_copy(global_ipfix_ports); + netflow_ports = range_copy(wmem_epan_scope(), global_netflow_ports); + ipfix_ports = range_copy(wmem_epan_scope(), global_ipfix_ports); dissector_add_uint_range("udp.port", netflow_ports, netflow_handle); range_foreach(ipfix_ports, ipfix_add_callback); diff --git a/epan/dissectors/packet-nvme-rdma.c b/epan/dissectors/packet-nvme-rdma.c index 5ac99c17c5..d4dbba290c 100644 --- a/epan/dissectors/packet-nvme-rdma.c +++ b/epan/dissectors/packet-nvme-rdma.c @@ -1028,7 +1028,7 @@ proto_register_nvme_rdma(void) //nvme_rdma_module = prefs_register_protocol(proto_nvme_rdma, proto_reg_handoff_nvme_rdma); nvme_rdma_module = prefs_register_protocol(proto_nvme_rdma, NULL); - range_convert_str(&gPORT_RANGE, NVME_RDMA_TCP_PORT_RANGE, MAX_TCP_PORT); + range_convert_str(wmem_epan_scope(), &gPORT_RANGE, NVME_RDMA_TCP_PORT_RANGE, MAX_TCP_PORT); prefs_register_range_preference(nvme_rdma_module, "subsystem_ports", "Subsystem Ports Range", diff --git a/epan/dissectors/packet-opa-fe.c b/epan/dissectors/packet-opa-fe.c index 11ca863f81..b391a8cb44 100644 --- a/epan/dissectors/packet-opa-fe.c +++ b/epan/dissectors/packet-opa-fe.c @@ -135,8 +135,7 @@ void proto_register_opa_fe(void) proto_register_subtree_array(ett, array_length(ett)); opa_fe_module = prefs_register_protocol(proto_opa_fe, proto_reg_handoff_opa_fe); - range_convert_str(&global_fe_ssl_range, OPA_FE_SSL_RANGE, 65535); - fe_ssl_range = range_empty(); + range_convert_str(wmem_epan_scope(), &global_fe_ssl_range, OPA_FE_SSL_RANGE, 65535); prefs_register_range_preference(opa_fe_module, "ssl.port", "SSL/TLS Ports", "SSL/TLS Ports range", &global_fe_ssl_range, 65535); @@ -154,8 +153,8 @@ void proto_reg_handoff_opa_fe(void) } range_foreach(fe_ssl_range, range_delete_fe_ssl_callback); - g_free(fe_ssl_range); - fe_ssl_range = range_copy(global_fe_ssl_range); + wmem_free(wmem_epan_scope(), fe_ssl_range); + fe_ssl_range = range_copy(wmem_epan_scope(), global_fe_ssl_range); range_foreach(fe_ssl_range, range_add_fe_ssl_callback); } diff --git a/epan/dissectors/packet-opa-mad.c b/epan/dissectors/packet-opa-mad.c index 93d8aa256e..af76c6b653 100644 --- a/epan/dissectors/packet-opa-mad.c +++ b/epan/dissectors/packet-opa-mad.c @@ -13493,11 +13493,11 @@ void proto_register_opa_mad(void) expert_opa_mad = expert_register_protocol(proto_opa_mad); expert_register_field_array(expert_opa_mad, ei, array_length(ei)); - range_convert_str(&global_mad_vendor_class, OPA_VENDOR_RANGE_STR, 0xFF); - range_convert_str(&global_mad_vendor_rmpp_class, OPA_VENDOR_RMPP_RANGE_STR, 0xFF); - range_convert_str(&global_mad_application_class, OPA_APPLICATION_RANGE_STR, 0xFF); - range_convert_str(&global_mad_reserved_class, OPA_RESERVED_RANGE_STR, 0xFF); - range_convert_str(&global_mad_opa_class, OPA_MGMTCLASS_RANGE_STR, 0xFF); + range_convert_str(wmem_epan_scope(), &global_mad_vendor_class, OPA_VENDOR_RANGE_STR, 0xFF); + range_convert_str(wmem_epan_scope(), &global_mad_vendor_rmpp_class, OPA_VENDOR_RMPP_RANGE_STR, 0xFF); + range_convert_str(wmem_epan_scope(), &global_mad_application_class, OPA_APPLICATION_RANGE_STR, 0xFF); + range_convert_str(wmem_epan_scope(), &global_mad_reserved_class, OPA_RESERVED_RANGE_STR, 0xFF); + range_convert_str(wmem_epan_scope(), &global_mad_opa_class, OPA_MGMTCLASS_RANGE_STR, 0xFF); opa_mad_module = prefs_register_protocol(proto_opa_mad, proto_reg_handoff_opa_mad); prefs_register_bool_preference(opa_mad_module, "parse_mad_error", diff --git a/epan/dissectors/packet-pcap.c b/epan/dissectors/packet-pcap.c index 906d6d5d17..3fdabda8bc 100644 --- a/epan/dissectors/packet-pcap.c +++ b/epan/dissectors/packet-pcap.c @@ -13721,9 +13721,9 @@ proto_reg_handoff_pcap(void) #line 155 "./asn1/pcap/packet-pcap-template.c" } else { dissector_delete_uint_range("sccp.ssn", ssn_range, pcap_handle); - g_free(ssn_range); + wmem_free(wmem_epan_scope(), ssn_range); } - ssn_range = range_copy(global_ssn_range); + ssn_range = range_copy(wmem_epan_scope(), global_ssn_range); dissector_add_uint_range("sccp.ssn", ssn_range, pcap_handle); } @@ -18732,7 +18732,7 @@ void proto_register_pcap(void) { /* Preferences */ /* Set default SSNs */ - range_convert_str(&global_ssn_range, "", MAX_SSN); + range_convert_str(wmem_epan_scope(), &global_ssn_range, "", MAX_SSN); prefs_register_range_preference(pcap_module, "ssn", "SCCP SSNs", "SCCP (and SUA) SSNs to decode as PCAP", diff --git a/epan/dissectors/packet-sccp.c b/epan/dissectors/packet-sccp.c index fe852b9f1a..4b148a729a 100644 --- a/epan/dissectors/packet-sccp.c +++ b/epan/dissectors/packet-sccp.c @@ -3452,17 +3452,20 @@ sccp_users_update_cb(void *r, char **err) struct _sccp_ul *c; range_t *empty; - empty = range_empty(); + empty = range_empty(NULL); if (ranges_are_equal(u->called_pc, empty)) { *err = g_strdup("Must specify a PC"); + wmem_free(NULL, empty); return FALSE; } if (ranges_are_equal(u->called_ssn, empty)) { *err = g_strdup("Must specify an SSN"); + wmem_free(NULL, empty); return FALSE; } + wmem_free(NULL, empty); for (c=user_list; c->handlep; c++) { if (c->id == u->user) { u->uses_tcap = c->uses_tcap; @@ -3488,9 +3491,9 @@ sccp_users_copy_cb(void *n, const void *o, size_t siz _U_) un->handlep = u->handlep; if (u->called_pc) - un->called_pc = range_copy(u->called_pc); + un->called_pc = range_copy(NULL, u->called_pc); if (u->called_ssn) - un->called_ssn = range_copy(u->called_ssn); + un->called_ssn = range_copy(NULL, u->called_ssn); return n; } @@ -3499,8 +3502,8 @@ static void sccp_users_free_cb(void *r) { sccp_user_t *u = (sccp_user_t *)r; - if (u->called_pc) g_free(u->called_pc); - if (u->called_ssn) g_free(u->called_ssn); + if (u->called_pc) wmem_free(NULL, u->called_pc); + if (u->called_ssn) wmem_free(NULL, u->called_ssn); } diff --git a/epan/dissectors/packet-sgsap.c b/epan/dissectors/packet-sgsap.c index 0b3e300869..a30786e49f 100644 --- a/epan/dissectors/packet-sgsap.c +++ b/epan/dissectors/packet-sgsap.c @@ -1713,7 +1713,7 @@ void proto_register_sgsap(void) { sgsap_handle = register_dissector(PFNAME, dissect_sgsap, proto_sgsap); /* Set default SCTP ports */ - range_convert_str(&global_sgsap_port_range, SGSAP_SCTP_PORT_RANGE, MAX_SCTP_PORT); + range_convert_str(wmem_epan_scope(), &global_sgsap_port_range, SGSAP_SCTP_PORT_RANGE, MAX_SCTP_PORT); sgsap_module = prefs_register_protocol(proto_sgsap, proto_reg_handoff_sgsap); @@ -1740,10 +1740,10 @@ proto_reg_handoff_sgsap(void) Initialized=TRUE; } else { dissector_delete_uint_range("sctp.port", sgsap_port_range, sgsap_handle); - g_free(sgsap_port_range); + wmem_free(wmem_epan_scope(), sgsap_port_range); } - sgsap_port_range = range_copy(global_sgsap_port_range); + sgsap_port_range = range_copy(wmem_epan_scope(), global_sgsap_port_range); dissector_add_uint_range("sctp.port", sgsap_port_range, sgsap_handle); } diff --git a/epan/dissectors/packet-tcap.c b/epan/dissectors/packet-tcap.c index fb7c30c72e..3662cff253 100644 --- a/epan/dissectors/packet-tcap.c +++ b/epan/dissectors/packet-tcap.c @@ -3686,7 +3686,7 @@ proto_register_tcap(void) #endif /* Set default SSNs */ - range_convert_str(&global_ssn_range, "", MAX_SSN); + range_convert_str(wmem_epan_scope(), &global_ssn_range, "", MAX_SSN); prefs_register_range_preference(tcap_module, "ssn", "SCCP SSNs", "SCCP (and SUA) SSNs to decode as TCAP", @@ -3739,7 +3739,7 @@ static void range_add_callback(guint32 ssn) static void init_tcap(void) { - ssn_range = range_copy(global_ssn_range); + ssn_range = range_copy(wmem_epan_scope(), global_ssn_range); range_foreach(ssn_range, range_add_callback); tcapsrt_init_routine(); } @@ -3747,7 +3747,7 @@ static void init_tcap(void) static void cleanup_tcap(void) { range_foreach(ssn_range, range_delete_callback); - g_free(ssn_range); + wmem_free(wmem_epan_scope(), ssn_range); } static int diff --git a/epan/dissectors/packet-tds.c b/epan/dissectors/packet-tds.c index b7797243ce..fee8a0b07b 100644 --- a/epan/dissectors/packet-tds.c +++ b/epan/dissectors/packet-tds.c @@ -4216,7 +4216,6 @@ version_convert( gchar *result, guint32 hexver ) static void apply_tds_prefs(void) { - g_free(tds_tcp_ports); tds_tcp_ports = prefs_get_range_value("tds", "tcp.port"); } diff --git a/epan/dissectors/packet-tftp.c b/epan/dissectors/packet-tftp.c index 113e3d7edf..a8d9022e59 100644 --- a/epan/dissectors/packet-tftp.c +++ b/epan/dissectors/packet-tftp.c @@ -693,7 +693,6 @@ dissect_tftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_ static void apply_tftp_prefs(void) { - g_free(global_tftp_port_range); global_tftp_port_range = prefs_get_range_value("tftp", "udp.port"); } diff --git a/epan/dissectors/packet-tpkt.c b/epan/dissectors/packet-tpkt.c index bed73e91ce..937769c175 100644 --- a/epan/dissectors/packet-tpkt.c +++ b/epan/dissectors/packet-tpkt.c @@ -659,7 +659,7 @@ proto_register_tpkt(void) "To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.", &tpkt_desegment); - range_convert_str(&tpkt_tcp_port_range, DEFAULT_TPKT_PORT_RANGE, MAX_TCP_PORT); + range_convert_str(wmem_epan_scope(), &tpkt_tcp_port_range, DEFAULT_TPKT_PORT_RANGE, MAX_TCP_PORT); prefs_register_range_preference(tpkt_module, "tcp.ports", "TPKT TCP ports", "TCP ports to be decoded as TPKT (default: " @@ -670,12 +670,15 @@ proto_register_tpkt(void) void proto_reg_handoff_tpkt(void) { - static range_t *port_range; + static range_t *port_range = NULL; osi_tp_handle = find_dissector("ositp"); dissector_add_uint_range_with_preference("tcp.port", TCP_PORT_TPKT_RANGE, tpkt_handle); - port_range = range_copy(tpkt_tcp_port_range); + dissector_delete_uint_range("tcp.port", port_range, tpkt_handle); + wmem_free(wmem_epan_scope(), port_range); + + port_range = range_copy(wmem_epan_scope(), tpkt_tcp_port_range); dissector_add_uint_range("tcp.port", port_range, tpkt_handle); /* diff --git a/epan/dissectors/packet-uaudp.c b/epan/dissectors/packet-uaudp.c index a1efca078f..af173dff66 100644 --- a/epan/dissectors/packet-uaudp.c +++ b/epan/dissectors/packet-uaudp.c @@ -358,7 +358,6 @@ static int dissect_uaudp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo static void apply_uaudp_prefs(void) { - g_free(ua_udp_range); ua_udp_range = prefs_get_range_value("uaudp", "udp.port"); if (*pref_sys_ip_s) { diff --git a/epan/dissectors/packet-vnc.c b/epan/dissectors/packet-vnc.c index 8bfd03e115..8570467bc0 100644 --- a/epan/dissectors/packet-vnc.c +++ b/epan/dissectors/packet-vnc.c @@ -3460,7 +3460,6 @@ vnc_get_depth(packet_info *pinfo) /* Preference callbacks */ static void apply_vnc_prefs(void) { - g_free(vnc_tcp_range); vnc_tcp_range = prefs_get_range_value("vnc", "tcp.port"); } diff --git a/epan/dissectors/packet-vp8.c b/epan/dissectors/packet-vp8.c index 44c4e87a90..45d19c3123 100644 --- a/epan/dissectors/packet-vp8.c +++ b/epan/dissectors/packet-vp8.c @@ -606,10 +606,10 @@ proto_reg_handoff_vp8(void) vp8_prefs_initialized = TRUE; } else { range_foreach(dynamic_payload_type_range, range_delete_vp8_rtp_pt_callback); - g_free(dynamic_payload_type_range); + wmem_free(wmem_epan_scope(), dynamic_payload_type_range); } - dynamic_payload_type_range = range_copy(temp_dynamic_payload_type_range); + dynamic_payload_type_range = range_copy(wmem_epan_scope(), temp_dynamic_payload_type_range); range_foreach(dynamic_payload_type_range, range_add_vp8_rtp_pt_callback); } diff --git a/epan/dissectors/packet-xml.c b/epan/dissectors/packet-xml.c index a1876b91e4..bb7a5d7f46 100644 --- a/epan/dissectors/packet-xml.c +++ b/epan/dissectors/packet-xml.c @@ -83,8 +83,6 @@ static xml_ns_t *root_ns; static gboolean pref_heuristic_unicode = FALSE; -static range_t *xml_tcp_range = NULL; - #define XML_CDATA -1000 #define XML_SCOPED_NAME -1001 @@ -1461,10 +1459,6 @@ proto_register_xml(void) xml_handle = register_dissector("xml", dissect_xml, xml_ns.hf_tag); init_xml_parser(); - - xml_tcp_range = range_empty(); - - } static void |