aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--debian/libwireshark0.symbols1
-rw-r--r--docbook/release-notes.asciidoc3
-rw-r--r--epan/addr_resolv.c2
-rw-r--r--epan/addr_resolv.h2
-rw-r--r--epan/address_to_str.c12
-rw-r--r--epan/conversation.c18
-rw-r--r--epan/conversation_table.c37
-rw-r--r--epan/gcp.c4
-rw-r--r--epan/proto.c30
-rw-r--r--epan/to_str.c2
-rw-r--r--epan/to_str.h1
-rw-r--r--plugins/stats_tree/pinfo_stats_tree.c14
-rwxr-xr-xtools/checkAPIs.pl1
-rw-r--r--ui/cli/tap-diameter-avp.c2
-rw-r--r--ui/cli/tap-sctpchunkstat.c29
-rw-r--r--ui/gtk/capture_dlg.c10
-rw-r--r--ui/gtk/capture_if_dlg.c7
-rw-r--r--ui/gtk/compare_stat.c5
-rw-r--r--ui/gtk/lbm_stream_dlg.c9
-rw-r--r--ui/gtk/lbm_uimflow_dlg.c4
-rw-r--r--ui/gtk/mcast_stream_dlg.c14
-rw-r--r--ui/gtk/packet_win.c5
-rw-r--r--ui/gtk/rtp_stream_dlg.c17
-rw-r--r--ui/gtk/sctp_assoc_analyse.c62
-rw-r--r--ui/gtk/sctp_chunk_stat.c10
-rw-r--r--ui/gtk/sctp_chunk_stat_dlg.c8
-rw-r--r--ui/gtk/sctp_stat_dlg.c35
-rw-r--r--ui/gtk/tcp_graph.c9
-rw-r--r--ui/gtk/voip_calls_dlg.c5
-rw-r--r--ui/gtk/wlan_stat_dlg.c14
-rw-r--r--ui/iface_lists.c8
-rw-r--r--ui/qt/lbm_lbtrm_transport_dialog.cpp4
-rw-r--r--ui/qt/lbm_lbtru_transport_dialog.cpp4
-rw-r--r--ui/qt/lbm_stream_dialog.cpp26
-rw-r--r--ui/qt/lbm_uimflow_dialog.cpp4
-rw-r--r--ui/qt/manage_interfaces_dialog.cpp8
-rw-r--r--ui/qt/sctp_assoc_analyse_dialog.cpp8
-rw-r--r--ui/qt/tcp_stream_dialog.cpp13
-rw-r--r--ui/qt/voip_calls_dialog.cpp5
39 files changed, 287 insertions, 165 deletions
diff --git a/debian/libwireshark0.symbols b/debian/libwireshark0.symbols
index fa59228221..3ec0adbafd 100644
--- a/debian/libwireshark0.symbols
+++ b/debian/libwireshark0.symbols
@@ -442,7 +442,6 @@ libwireshark.so.0 libwireshark0 #MINVER#
elem_v_short@Base 1.9.1
emem_init@Base 1.9.1
empty_tcp_stream@Base 1.9.1
- ep_address_to_str@Base 1.9.1
ep_alloc0@Base 1.9.1
ep_alloc@Base 1.9.1
ep_memdup@Base 1.9.1
diff --git a/docbook/release-notes.asciidoc b/docbook/release-notes.asciidoc
index e08330eb34..ebbd6b03e9 100644
--- a/docbook/release-notes.asciidoc
+++ b/docbook/release-notes.asciidoc
@@ -111,7 +111,8 @@ Colasoft Capsa files
The libwireshark API has undergone some major changes:
-* Many of the ep_ and se_ memory allocation routines have been removed.
+* Many of the ep_ and se_ memory allocation routines and methods that
+invoked them implicitly have been removed.
* The (long-since-broken) Python bindings support has been removed. If
you want to write dissectors in something other than C, use Lua.
diff --git a/epan/addr_resolv.c b/epan/addr_resolv.c
index e352952cd9..bbc1d13675 100644
--- a/epan/addr_resolv.c
+++ b/epan/addr_resolv.c
@@ -1555,7 +1555,7 @@ eth_addr_resolve(hashether_t *tp) {
/* No match whatsoever. */
SET_ADDRESS(&ether_addr, AT_ETHER, 6, addr);
- g_snprintf(tp->resolved_name, MAXNAMELEN, "%s", ep_address_to_str(&ether_addr));
+ address_to_str_buf(&ether_addr, tp->resolved_name, MAXNAMELEN);
tp->status = HASHETHER_STATUS_RESOLVED_DUMMY;
return tp;
}
diff --git a/epan/addr_resolv.h b/epan/addr_resolv.h
index 9051362f2a..91c273c3ae 100644
--- a/epan/addr_resolv.h
+++ b/epan/addr_resolv.h
@@ -138,7 +138,7 @@ WS_DLL_PUBLIC gchar *ep_sctp_port_to_display(guint port);
/* - if the address is of a type that can be translated into a name, and the user */
/* has activated name resolution, the translated name */
/* - if the address is of type AT_NONE, a pointer to the string "NONE" */
-/* - if the address is of any other type, the result of ep_address_to_str on the argument, */
+/* - if the address is of any other type, the result of address_to_str on the argument, */
/* which should be a string representation for the answer -e.g. "10.10.10.10" for IPv4 */
/* address 10.10.10.10 */
WS_DLL_PUBLIC
diff --git a/epan/address_to_str.c b/epan/address_to_str.c
index 62a79edb17..b9081d5fa8 100644
--- a/epan/address_to_str.c
+++ b/epan/address_to_str.c
@@ -282,7 +282,7 @@ tvb_vines_addr_to_str(tvbuff_t *tvb, const gint offset)
/*
This function is very fast and this function is called a lot.
- XXX update the ep_address_to_str stuff to use this function.
+ XXX update the address_to_str stuff to use this function.
*/
gchar *
eui64_to_str(const guint64 ad) {
@@ -455,16 +455,6 @@ address_to_str(wmem_allocator_t *scope, const address *addr)
return str;
}
-gchar*
-ep_address_to_str(const address *addr)
-{
- gchar *str;
-
- str=(gchar *)ep_alloc(MAX_ADDR_STR_LEN);
- address_to_str_buf(addr, str, MAX_ADDR_STR_LEN);
- return str;
-}
-
void
address_to_str_buf(const address *addr, gchar *buf, int buf_len)
{
diff --git a/epan/conversation.c b/epan/conversation.c
index 398d213448..89df1cea63 100644
--- a/epan/conversation.c
+++ b/epan/conversation.c
@@ -28,6 +28,7 @@
#include <glib.h>
#include "packet.h"
#include "emem.h"
+#include "to_str.h"
#include "conversation.h"
/* define DEBUG_CONVERSATION for pretty debug printing */
@@ -677,8 +678,8 @@ conversation_new(const guint32 setup_frame, const address *addr1, const address
conversation_key *new_key;
DPRINT(("creating conversation for frame #%d: %s:%d -> %s:%d (ptype=%d)",
- setup_frame, ep_address_to_str(addr1), port1,
- ep_address_to_str(addr2), port2, ptype));
+ setup_frame, address_to_str(wmem_packet_scope(), addr1), port1,
+ address_to_str(wmem_packet_scope(), addr2), port2, ptype));
if (options & NO_ADDR2) {
if (options & (NO_PORT2|NO_PORT2_FORCE)) {
@@ -767,10 +768,13 @@ conversation_set_port2(conversation_t *conv, const guint32 port)
void
conversation_set_addr2(conversation_t *conv, const address *addr)
{
- DISSECTOR_ASSERT_HINT(!(conv->options & CONVERSATION_TEMPLATE),
- "Use the conversation_create_from_template function when the CONVERSATION_TEMPLATE bit is set in the options mask");
+ char* addr_str;
+ DISSECTOR_ASSERT_HINT(!(conv->options & CONVERSATION_TEMPLATE),
+ "Use the conversation_create_from_template function when the CONVERSATION_TEMPLATE bit is set in the options mask");
- DPRINT(("called for addr=%s",ep_address_to_str(addr)));
+ addr_str = address_to_str(NULL, addr);
+ DPRINT(("called for addr=%s", addr_str));
+ wmem_free(NULL, addr_str);
/*
* If the address 2 value is not wildcarded, don't set it.
@@ -1330,8 +1334,8 @@ find_or_create_conversation(packet_info *pinfo)
conversation_t *conv=NULL;
DPRINT(("called for frame #%d: %s:%d -> %s:%d (ptype=%d)",
- pinfo->fd->num, ep_address_to_str(&pinfo->src), pinfo->srcport,
- ep_address_to_str(&pinfo->dst), pinfo->destport, pinfo->ptype));
+ pinfo->fd->num, address_to_str(wmem_packet_scope(), &pinfo->src), pinfo->srcport,
+ address_to_str(wmem_packet_scope(), &pinfo->dst), pinfo->destport, pinfo->ptype));
DINDENT();
/* Have we seen this conversation before? */
diff --git a/epan/conversation_table.c b/epan/conversation_table.c
index 52e5bf43c8..283c4e89cc 100644
--- a/epan/conversation_table.c
+++ b/epan/conversation_table.c
@@ -406,24 +406,26 @@ ct_port_to_str(port_type ptype, guint32 port)
const char *get_conversation_filter(conv_item_t *conv_item, conv_direction_e direction)
{
- char *sport, *dport;
+ char *sport, *dport, *src_addr, *dst_addr;
const char *str = "INVALID";
sport = ct_port_to_str(conv_item->ptype, conv_item->src_port);
dport = ct_port_to_str(conv_item->ptype, conv_item->dst_port);
+ src_addr = address_to_str(NULL, &conv_item->src_address);
+ dst_addr = address_to_str(NULL, &conv_item->dst_address);
switch(direction){
case CONV_DIR_A_TO_FROM_B:
/* A <-> B */
str = ep_strdup_printf("%s==%s%s%s%s%s && %s==%s%s%s%s%s",
conversation_get_filter_name(conv_item, CONV_FT_ANY_ADDRESS),
- ep_address_to_str(&conv_item->src_address),
+ src_addr,
sport?" && ":"",
sport?conversation_get_filter_name(conv_item, CONV_FT_ANY_PORT):"",
sport?"==":"",
sport?sport:"",
conversation_get_filter_name(conv_item, CONV_FT_ANY_ADDRESS),
- ep_address_to_str(&conv_item->dst_address),
+ dst_addr,
dport?" && ":"",
dport?conversation_get_filter_name(conv_item, CONV_FT_ANY_PORT):"",
dport?"==":"",
@@ -434,13 +436,13 @@ const char *get_conversation_filter(conv_item_t *conv_item, conv_direction_e dir
/* A --> B */
str = ep_strdup_printf("%s==%s%s%s%s%s && %s==%s%s%s%s%s",
conversation_get_filter_name(conv_item, CONV_FT_SRC_ADDRESS),
- ep_address_to_str(&conv_item->src_address),
+ src_addr,
sport?" && ":"",
sport?conversation_get_filter_name(conv_item, CONV_FT_SRC_PORT):"",
sport?"==":"",
sport?sport:"",
conversation_get_filter_name(conv_item, CONV_FT_DST_ADDRESS),
- ep_address_to_str(&conv_item->dst_address),
+ dst_addr,
dport?" && ":"",
dport?conversation_get_filter_name(conv_item, CONV_FT_DST_PORT):"",
dport?"==":"",
@@ -451,13 +453,13 @@ const char *get_conversation_filter(conv_item_t *conv_item, conv_direction_e dir
/* A <-- B */
str = ep_strdup_printf("%s==%s%s%s%s%s && %s==%s%s%s%s%s",
conversation_get_filter_name(conv_item, CONV_FT_DST_ADDRESS),
- ep_address_to_str(&conv_item->src_address),
+ src_addr,
sport?" && ":"",
sport?conversation_get_filter_name(conv_item, CONV_FT_DST_PORT):"",
sport?"==":"",
sport?sport:"",
conversation_get_filter_name(conv_item, CONV_FT_SRC_ADDRESS),
- ep_address_to_str(&conv_item->dst_address),
+ dst_addr,
dport?" && ":"",
dport?conversation_get_filter_name(conv_item, CONV_FT_SRC_PORT):"",
dport?"==":"",
@@ -468,7 +470,7 @@ const char *get_conversation_filter(conv_item_t *conv_item, conv_direction_e dir
/* A <-> ANY */
str = ep_strdup_printf("%s==%s%s%s%s%s",
conversation_get_filter_name(conv_item, CONV_FT_ANY_ADDRESS),
- ep_address_to_str(&conv_item->src_address),
+ src_addr,
sport?" && ":"",
sport?conversation_get_filter_name(conv_item, CONV_FT_ANY_PORT):"",
sport?"==":"",
@@ -479,7 +481,7 @@ const char *get_conversation_filter(conv_item_t *conv_item, conv_direction_e dir
/* A --> ANY */
str = ep_strdup_printf("%s==%s%s%s%s%s",
conversation_get_filter_name(conv_item, CONV_FT_SRC_ADDRESS),
- ep_address_to_str(&conv_item->src_address),
+ src_addr,
sport?" && ":"",
sport?conversation_get_filter_name(conv_item, CONV_FT_SRC_PORT):"",
sport?"==":"",
@@ -490,7 +492,7 @@ const char *get_conversation_filter(conv_item_t *conv_item, conv_direction_e dir
/* A <-- ANY */
str = ep_strdup_printf("%s==%s%s%s%s%s",
conversation_get_filter_name(conv_item, CONV_FT_DST_ADDRESS),
- ep_address_to_str(&conv_item->src_address),
+ src_addr,
sport?" && ":"",
sport?conversation_get_filter_name(conv_item, CONV_FT_DST_PORT):"",
sport?"==":"",
@@ -501,7 +503,7 @@ const char *get_conversation_filter(conv_item_t *conv_item, conv_direction_e dir
/* ANY <-> B */
str = ep_strdup_printf("%s==%s%s%s%s%s",
conversation_get_filter_name(conv_item, CONV_FT_ANY_ADDRESS),
- ep_address_to_str(&conv_item->dst_address),
+ dst_addr,
dport?" && ":"",
dport?conversation_get_filter_name(conv_item, CONV_FT_ANY_PORT):"",
dport?"==":"",
@@ -512,7 +514,7 @@ const char *get_conversation_filter(conv_item_t *conv_item, conv_direction_e dir
/* ANY <-- B */
str = ep_strdup_printf("%s==%s%s%s%s%s",
conversation_get_filter_name(conv_item, CONV_FT_SRC_ADDRESS),
- ep_address_to_str(&conv_item->dst_address),
+ dst_addr,
dport?" && ":"",
dport?conversation_get_filter_name(conv_item, CONV_FT_SRC_PORT):"",
dport?"==":"",
@@ -523,7 +525,7 @@ const char *get_conversation_filter(conv_item_t *conv_item, conv_direction_e dir
/* ANY --> B */
str = ep_strdup_printf("%s==%s%s%s%s%s",
conversation_get_filter_name(conv_item, CONV_FT_DST_ADDRESS),
- ep_address_to_str(&conv_item->dst_address),
+ dst_addr,
dport?" && ":"",
dport?conversation_get_filter_name(conv_item, CONV_FT_DST_PORT):"",
dport?"==":"",
@@ -535,24 +537,29 @@ const char *get_conversation_filter(conv_item_t *conv_item, conv_direction_e dir
}
g_free(sport);
g_free(dport);
+ wmem_free(NULL, src_addr);
+ wmem_free(NULL, dst_addr);
return str;
}
const char *get_hostlist_filter(hostlist_talker_t *host)
{
- char *sport;
+ char *sport, *src_addr;
const char *str;
sport=ct_port_to_str(host->ptype, host->port);
+ src_addr = address_to_str(NULL, &host->myaddress);
str = g_strdup_printf("%s==%s%s%s%s%s",
hostlist_get_filter_name(host, CONV_FT_ANY_ADDRESS),
- ep_address_to_str(&host->myaddress),
+ src_addr,
sport?" && ":"",
sport?hostlist_get_filter_name(host, CONV_FT_ANY_PORT):"",
sport?"==":"",
sport?sport:"");
+ g_free(sport);
+ wmem_free(NULL, src_addr);
return str;
}
diff --git a/epan/gcp.c b/epan/gcp.c
index 65797d30bf..5937ce8c3a 100644
--- a/epan/gcp.c
+++ b/epan/gcp.c
@@ -146,8 +146,8 @@ gcp_msg_t* gcp_msg(packet_info* pinfo, int o, gboolean keep_persistent_data) {
break;
default:
/* XXX: heuristic and error prone */
- m->hi_addr = g_str_hash(ep_address_to_str(hi_addr));
- m->lo_addr = g_str_hash(ep_address_to_str(lo_addr));
+ m->hi_addr = g_str_hash(address_to_str(wmem_packet_scope(), hi_addr));
+ m->lo_addr = g_str_hash(address_to_str(wmem_packet_scope(), lo_addr));
break;
}
diff --git a/epan/proto.c b/epan/proto.c
index 0b54c31306..a7722b3dd4 100644
--- a/epan/proto.c
+++ b/epan/proto.c
@@ -6003,6 +6003,7 @@ proto_item_fill_label(field_info *fi, gchar *label_str)
guint32 n_addr; /* network-order IPv4 address */
const gchar *name;
address addr;
+ char *addr_str;
char *tmp;
if (!fi) {
@@ -6126,9 +6127,10 @@ proto_item_fill_label(field_info *fi, gchar *label_str)
addr.len = AX25_ADDR_LEN;
addr.data = (guint8 *)fvalue_get(&fi->value);
+ addr_str = (char*)address_to_str(NULL, &addr);
g_snprintf(label_str, ITEM_LABEL_LENGTH,
- "%s: %s", hfinfo->name,
- ep_address_to_str( &addr ));
+ "%s: %s", hfinfo->name, addr_str);
+ wmem_free(NULL, addr_str);
break;
case FT_VINES:
@@ -6136,9 +6138,10 @@ proto_item_fill_label(field_info *fi, gchar *label_str)
addr.len = VINES_ADDR_LEN;
addr.data = (guint8 *)fvalue_get(&fi->value);
+ addr_str = (char*)address_to_str(NULL, &addr);
g_snprintf(label_str, ITEM_LABEL_LENGTH,
- "%s: %s", hfinfo->name,
- ep_address_to_str( &addr ));
+ "%s: %s", hfinfo->name, addr_str);
+ wmem_free(NULL, addr_str);
break;
case FT_ETHER:
@@ -6148,9 +6151,10 @@ proto_item_fill_label(field_info *fi, gchar *label_str)
addr.len = 6;
addr.data = bytes;
+ addr_str = (char*)address_to_str(NULL, &addr);
label_fill_descr(label_str, 0, hfinfo,
- get_ether_name(bytes),
- ep_address_to_str( &addr ));
+ get_ether_name(bytes), addr_str);
+ wmem_free(NULL, addr_str);
break;
case FT_IPv4:
@@ -6161,9 +6165,10 @@ proto_item_fill_label(field_info *fi, gchar *label_str)
addr.len = 4;
addr.data = &n_addr;
+ addr_str = (char*)address_to_str(NULL, &addr);
label_fill_descr(label_str, 0, hfinfo,
- get_hostname(n_addr),
- ep_address_to_str(&addr ));
+ get_hostname(n_addr), addr_str);
+ wmem_free(NULL, addr_str);
break;
case FT_IPv6:
@@ -6173,9 +6178,11 @@ proto_item_fill_label(field_info *fi, gchar *label_str)
addr.len = 16;
addr.data = bytes;
+ addr_str = (char*)address_to_str(NULL, &addr);
label_fill_descr(label_str, 0, hfinfo,
get_hostname6((struct e_in6_addr *)bytes),
- ep_address_to_str(&addr));
+ addr_str);
+ wmem_free(NULL, addr_str);
break;
case FT_FCWWN:
@@ -6183,9 +6190,10 @@ proto_item_fill_label(field_info *fi, gchar *label_str)
addr.len = FCWWN_ADDR_LEN;
addr.data = (guint8 *)fvalue_get(&fi->value);
+ addr_str = (char*)address_to_str(NULL, &addr);
g_snprintf(label_str, ITEM_LABEL_LENGTH,
- "%s: %s", hfinfo->name,
- ep_address_to_str( &addr ));
+ "%s: %s", hfinfo->name, addr_str);
+ wmem_free(NULL, addr_str);
break;
case FT_GUID:
diff --git a/epan/to_str.c b/epan/to_str.c
index 69d741ecff..20e965a717 100644
--- a/epan/to_str.c
+++ b/epan/to_str.c
@@ -1088,7 +1088,7 @@ decode_numeric_bitfield(const guint64 val, const guint64 mask, const int width,
/*
This function is very fast and this function is called a lot.
- XXX update the ep_address_to_str stuff to use this function.
+ XXX update the address_to_str stuff to use this function.
*/
void
ip_to_str_buf(const guint8 *ad, gchar *buf, const int buf_len)
diff --git a/epan/to_str.h b/epan/to_str.h
index be2de0f0a1..f7a0934631 100644
--- a/epan/to_str.h
+++ b/epan/to_str.h
@@ -52,7 +52,6 @@ extern "C" {
struct e_in6_addr;
WS_DLL_PUBLIC gchar* address_to_str(wmem_allocator_t *scope, const address *addr);
-WS_DLL_PUBLIC gchar* ep_address_to_str(const address *);
WS_DLL_PUBLIC void address_to_str_buf(const address *addr, gchar *buf, int buf_len);
WS_DLL_PUBLIC const gchar* tvb_ether_to_str(tvbuff_t *tvb, const gint offset);
WS_DLL_PUBLIC const gchar* tvb_ip_to_str(tvbuff_t *tvb, const gint offset);
diff --git a/plugins/stats_tree/pinfo_stats_tree.c b/plugins/stats_tree/pinfo_stats_tree.c
index 40bf5962f4..f09325162f 100644
--- a/plugins/stats_tree/pinfo_stats_tree.c
+++ b/plugins/stats_tree/pinfo_stats_tree.c
@@ -112,10 +112,10 @@ static void ip_hosts_stats_tree_init(stats_tree *st) {
st_node_ip = stats_tree_create_node(st, st_str_ip, 0, TRUE);
}
-static int ip_hosts_stats_tree_packet(stats_tree *st , packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
+static int ip_hosts_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
tick_stat_node(st, st_str_ip, 0, FALSE);
- tick_stat_node(st, ep_address_to_str(&pinfo->net_src), st_node_ip, FALSE);
- tick_stat_node(st, ep_address_to_str(&pinfo->net_dst), st_node_ip, FALSE);
+ tick_stat_node(st, address_to_str(pinfo->pool, &pinfo->net_src), st_node_ip, FALSE);
+ tick_stat_node(st, address_to_str(pinfo->pool, &pinfo->net_dst), st_node_ip, FALSE);
return 1;
}
@@ -138,13 +138,13 @@ static void ip_srcdst_stats_tree_init(stats_tree *st) {
stat_node_set_flags(st, st_str_ip_dst, 0, FALSE, ST_FLG_DEF_NOEXPAND);
}
-static int ip_srcdst_stats_tree_packet(stats_tree *st , packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
+static int ip_srcdst_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p _U_) {
/* update source branch */
tick_stat_node(st, st_str_ip_src, 0, FALSE);
- tick_stat_node(st, ep_address_to_str(&pinfo->net_src), st_node_ip_src, FALSE);
+ tick_stat_node(st, address_to_str(pinfo->pool, &pinfo->net_src), st_node_ip_src, FALSE);
/* update destination branch */
tick_stat_node(st, st_str_ip_dst, 0, FALSE);
- tick_stat_node(st, ep_address_to_str(&pinfo->net_dst), st_node_ip_dst, FALSE);
+ tick_stat_node(st, address_to_str(pinfo->pool, &pinfo->net_dst), st_node_ip_dst, FALSE);
return 1;
}
@@ -215,7 +215,7 @@ static int dsts_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_disse
tick_stat_node(st, st_str_dsts, 0, FALSE);
- ip_dst_node = tick_stat_node(st, ep_address_to_str(&pinfo->net_src), st_node_dsts, TRUE);
+ ip_dst_node = tick_stat_node(st, address_to_str(pinfo->pool, &pinfo->net_src), st_node_dsts, TRUE);
protocol_node = tick_stat_node(st,port_type_to_str(pinfo->ptype),ip_dst_node,TRUE);
diff --git a/tools/checkAPIs.pl b/tools/checkAPIs.pl
index caec56de52..a55cacded3 100755
--- a/tools/checkAPIs.pl
+++ b/tools/checkAPIs.pl
@@ -169,7 +169,6 @@ my %APIs = (
'ep_stack_push',
'ep_stack_pop',
'ep_stack_peek',
- 'ep_address_to_str',
'se_alloc',
'se_new',
'se_alloc0',
diff --git a/ui/cli/tap-diameter-avp.c b/ui/cli/tap-diameter-avp.c
index 16a3de0ffe..5b43a8c7c7 100644
--- a/ui/cli/tap-diameter-avp.c
+++ b/ui/cli/tap-diameter-avp.c
@@ -186,7 +186,7 @@ diameteravp_packet(void *pds, packet_info *pinfo, epan_dissect_t *edt _U_, const
}
/* Output frame data.*/
printf("frame='%d' time='%f' src='%s' srcport='%d' dst='%s' dstport='%d' proto='diameter' msgnr='%d' is_request='%d' cmd='%d' req_frame='%d' ans_frame='%d' resp_time='%f' ",
- pinfo->fd->num, nstime_to_sec(&pinfo->fd->abs_ts), ep_address_to_str(&pinfo->src), pinfo->srcport, ep_address_to_str(&pinfo->dst), pinfo->destport, ds->diammsg_toprocess, is_request, cmd_code, req_frame, ans_frame, resp_time);
+ pinfo->fd->num, nstime_to_sec(&pinfo->fd->abs_ts), address_to_str(pinfo->pool, &pinfo->src), pinfo->srcport, address_to_str(pinfo->pool, &pinfo->dst), pinfo->destport, ds->diammsg_toprocess, is_request, cmd_code, req_frame, ans_frame, resp_time);
/* Visit selected nodes of one diameter message.*/
tree_traverse_pre_order(current, diam_tree_to_csv, &ds);
/* End of message.*/
diff --git a/ui/cli/tap-sctpchunkstat.c b/ui/cli/tap-sctpchunkstat.c
index 571b9f4a40..7e9d8a65e1 100644
--- a/ui/cli/tap-sctpchunkstat.c
+++ b/ui/cli/tap-sctpchunkstat.c
@@ -184,6 +184,7 @@ sctpstat_draw(void *phs)
{
sctpstat_t *hs = (sctpstat_t *)phs;
sctp_ep_t *list = hs->ep_list, *tmp;
+ char *src_addr, *dst_addr;
printf("-------------------------------------------- SCTP Statistics --------------------------------------------------------------------------\n");
printf("| Total packets RX/TX %u\n", hs->number_of_packets);
@@ -192,19 +193,23 @@ sctpstat_draw(void *phs)
printf("---------------------------------------------------------------------------------------------------------------------------------------\n");
for (tmp = list; tmp; tmp = tmp->next) {
+ src_addr = (char*)address_to_str(NULL, &tmp->src);
+ dst_addr = (char*)address_to_str(NULL, &tmp->dst);
printf("|%15s|%5u|%15s|%5u|%8u|%8u|%8u|%8u|%8u|%8u|%8u|%8u|%8u|%8u|\n",
- ep_address_to_str(&tmp->src), tmp->sport,
- ep_address_to_str(&tmp->dst), tmp->dport,
- tmp->chunk_count[SCTP_DATA_CHUNK_ID],
- tmp->chunk_count[SCTP_SACK_CHUNK_ID],
- tmp->chunk_count[SCTP_HEARTBEAT_CHUNK_ID],
- tmp->chunk_count[SCTP_HEARTBEAT_ACK_CHUNK_ID],
- tmp->chunk_count[SCTP_INIT_CHUNK_ID],
- tmp->chunk_count[SCTP_INIT_ACK_CHUNK_ID],
- tmp->chunk_count[SCTP_COOKIE_ECHO_CHUNK_ID],
- tmp->chunk_count[SCTP_COOKIE_ACK_CHUNK_ID],
- tmp->chunk_count[SCTP_ABORT_CHUNK_ID],
- tmp->chunk_count[SCTP_ERROR_CHUNK_ID]);
+ src_addr, tmp->sport,
+ dst_addr, tmp->dport,
+ tmp->chunk_count[SCTP_DATA_CHUNK_ID],
+ tmp->chunk_count[SCTP_SACK_CHUNK_ID],
+ tmp->chunk_count[SCTP_HEARTBEAT_CHUNK_ID],
+ tmp->chunk_count[SCTP_HEARTBEAT_ACK_CHUNK_ID],
+ tmp->chunk_count[SCTP_INIT_CHUNK_ID],
+ tmp->chunk_count[SCTP_INIT_ACK_CHUNK_ID],
+ tmp->chunk_count[SCTP_COOKIE_ECHO_CHUNK_ID],
+ tmp->chunk_count[SCTP_COOKIE_ACK_CHUNK_ID],
+ tmp->chunk_count[SCTP_ABORT_CHUNK_ID],
+ tmp->chunk_count[SCTP_ERROR_CHUNK_ID]);
+ wmem_free(NULL, src_addr);
+ wmem_free(NULL, dst_addr);
}
printf("---------------------------------------------------------------------------------------------------------------------------------------\n");
}
diff --git a/ui/gtk/capture_dlg.c b/ui/gtk/capture_dlg.c
index 8777b7271a..578aed01ff 100644
--- a/ui/gtk/capture_dlg.c
+++ b/ui/gtk/capture_dlg.c
@@ -1219,6 +1219,7 @@ insert_new_rows(GList *list)
GtkTreeModel *model;
link_row *linkr = NULL;
address addr_str;
+ char* temp_addr_str = NULL;
if_cb = (GtkTreeView *) g_object_get_data(G_OBJECT(cap_open_w), E_CAP_IFACE_KEY);
model = gtk_tree_view_get_model(if_cb);
@@ -1291,16 +1292,21 @@ insert_new_rows(GList *list)
switch (addr->ifat_type) {
case IF_AT_IPv4:
SET_ADDRESS(&addr_str, AT_IPv4, 4, &addr->addr.ip4_addr);
- g_string_append(ip_str, ep_address_to_str(&addr_str));
+ temp_addr_str = (char*)address_to_str(NULL, &addr_str);
+ g_string_append(ip_str, temp_addr_str);
break;
case IF_AT_IPv6:
SET_ADDRESS(&addr_str, AT_IPv6, 16, addr->addr.ip6_addr);
- g_string_append(ip_str, ep_address_to_str(&addr_str));
+ temp_addr_str = (char*)address_to_str(NULL, &addr_str);
+ g_string_append(ip_str, temp_addr_str);
break;
default:
/* In case we add non-IP addresses */
+ temp_addr_str = NULL;
break;
}
+
+ wmem_free(NULL, temp_addr_str);
} /* for curr_addr */
linktype_count = 0;
device.links = NULL;
diff --git a/ui/gtk/capture_if_dlg.c b/ui/gtk/capture_if_dlg.c
index 0bbf695a80..9188f85577 100644
--- a/ui/gtk/capture_if_dlg.c
+++ b/ui/gtk/capture_if_dlg.c
@@ -468,7 +468,7 @@ set_ip_addr_label(GSList *addr_list, GtkWidget *ip_lb, guint selected_ip_addr)
GSList *curr_addr;
if_addr_t *addr;
address addr_address;
- const gchar *addr_str = NULL;
+ char *addr_str = NULL;
curr_addr = g_slist_nth(addr_list, selected_ip_addr);
if (curr_addr) {
@@ -477,12 +477,12 @@ set_ip_addr_label(GSList *addr_list, GtkWidget *ip_lb, guint selected_ip_addr)
case IF_AT_IPv4:
SET_ADDRESS(&addr_address, AT_IPv4, 4, &addr->addr.ip4_addr);
- addr_str = ep_address_to_str(&addr_address);
+ addr_str = (char*)address_to_str(NULL, &addr_address);
break;
case IF_AT_IPv6:
SET_ADDRESS(&addr_address, AT_IPv6, 16, addr->addr.ip6_addr);
- addr_str = ep_address_to_str(&addr_address);
+ addr_str = (char*)address_to_str(NULL, &addr_address);
break;
default:
@@ -496,6 +496,7 @@ set_ip_addr_label(GSList *addr_list, GtkWidget *ip_lb, guint selected_ip_addr)
} else {
gtk_label_set_text(GTK_LABEL(ip_lb), "none");
}
+ wmem_free(NULL, addr_str);
g_object_set_data(G_OBJECT(ip_lb), CAPTURE_IF_SELECTED_IP_ADDR, GINT_TO_POINTER(selected_ip_addr));
return addr_str;
diff --git a/ui/gtk/compare_stat.c b/ui/gtk/compare_stat.c
index d764c5566c..bc3f15181e 100644
--- a/ui/gtk/compare_stat.c
+++ b/ui/gtk/compare_stat.c
@@ -523,6 +523,7 @@ comparestat_draw(void *arg)
const gchar *statis_string;
frame_info *fInfo;
guint32 first_file_amount, second_file_amount;
+ char* addr_str;
/* initial steps, clear all data before start*/
cs->zebra_time.secs=0;
@@ -572,7 +573,9 @@ comparestat_draw(void *arg)
if(TTL_method&&cs->ip_ttl_list->len!=0){
g_string_printf(filter_str, "%s %i %s %i", "ip.ttl ==", g_array_index(cs->ip_ttl_list, guint8, 0), "|| ip.ttl ==", g_array_index(cs->ip_ttl_list, guint8, 1));
} else if(cs->eth_dst.len!=0&&cs->eth_src.len!=0){
- g_string_printf(filter_str, "%s %s %s %s", "eth.dst==", ep_address_to_str(&cs->eth_dst), "|| eth.dst==", ep_address_to_str(&cs->eth_src));
+ addr_str = (char*)address_to_str(NULL, &cs->eth_dst);
+ g_string_printf(filter_str, "%s %s %s %s", "eth.dst==", addr_str, "|| eth.dst==", addr_str);
+ wmem_free(NULL, addr_str);
}
color_filters_set_tmp(COLOR_N, filter_str->str, FALSE);
packet_list_colorize_packets();
diff --git a/ui/gtk/lbm_stream_dlg.c b/ui/gtk/lbm_stream_dlg.c
index a8cb00763e..a443f7162f 100644
--- a/ui/gtk/lbm_stream_dlg.c
+++ b/ui/gtk/lbm_stream_dlg.c
@@ -85,6 +85,7 @@ static lbmc_stream_dlg_info_t * global_stream_dialog_info = NULL;
static gchar * lbmc_stream_dlg_format_endpoint_ep(const lbm_uim_stream_endpoint_t * endpoint)
{
gchar * buf = NULL;
+ char* addr_str;
if (endpoint->type == lbm_uim_instance_stream)
{
@@ -92,11 +93,13 @@ static gchar * lbmc_stream_dlg_format_endpoint_ep(const lbm_uim_stream_endpoint_
}
else
{
+ addr_str = (char*)address_to_str(NULL, &(endpoint->stream_info.dest.addr));
buf = ep_strdup_printf(
"%" G_GUINT32_FORMAT ":%s:%" G_GUINT16_FORMAT,
endpoint->stream_info.dest.domain,
- ep_address_to_str(&(endpoint->stream_info.dest.addr)),
+ addr_str,
endpoint->stream_info.dest.port);
+ wmem_free(NULL, addr_str);
}
return (buf);
}
@@ -667,8 +670,8 @@ static gboolean lbmc_stream_dlg_tap_packet(void * tap_data, packet_info * pinfo,
substream = (lbmc_stream_dlg_substream_entry_t *)g_malloc(sizeof(lbmc_stream_dlg_substream_entry_t));
substream->substream_id = tapinfo->substream_id;
- substream->endpoint_a = wmem_strdup_printf(wmem_file_scope(), "%s:%" G_GUINT16_FORMAT, ep_address_to_str(&(pinfo->src)), (guint16)pinfo->srcport);
- substream->endpoint_b = wmem_strdup_printf(wmem_file_scope(), "%s:%" G_GUINT16_FORMAT, ep_address_to_str(&(pinfo->dst)), (guint16)pinfo->destport);
+ substream->endpoint_a = wmem_strdup_printf(wmem_file_scope(), "%s:%" G_GUINT16_FORMAT, address_to_str(pinfo->pool, &(pinfo->src)), (guint16)pinfo->srcport);
+ substream->endpoint_b = wmem_strdup_printf(wmem_file_scope(), "%s:%" G_GUINT16_FORMAT, address_to_str(pinfo->pool, &(pinfo->dst)), (guint16)pinfo->destport);
substream->first_frame = (guint32)(~0);
substream->last_frame = 0;
substream->messages = 0;
diff --git a/ui/gtk/lbm_uimflow_dlg.c b/ui/gtk/lbm_uimflow_dlg.c
index 6473477441..10ced5da84 100644
--- a/ui/gtk/lbm_uimflow_dlg.c
+++ b/ui/gtk/lbm_uimflow_dlg.c
@@ -190,10 +190,10 @@ static int lbmc_uim_flow_graph_add_to_graph(packet_info * pinfo, const lbm_uim_s
{
item->comment = g_strdup_printf("%" G_GUINT32_FORMAT ":%s:%" G_GUINT16_FORMAT " <-> %" G_GUINT32_FORMAT ":%s:%" G_GUINT16_FORMAT " [%" G_GUINT64_FORMAT "]",
epa.stream_info.dest.domain,
- ep_address_to_str(&(epa.stream_info.dest.addr)),
+ address_to_str(pinfo->pool, &(epa.stream_info.dest.addr)),
epa.stream_info.dest.port,
epb.stream_info.dest.domain,
- ep_address_to_str(&(epb.stream_info.dest.addr)),
+ address_to_str(pinfo->pool, &(epb.stream_info.dest.addr)),
epb.stream_info.dest.port,
stream_info->channel);
}
diff --git a/ui/gtk/mcast_stream_dlg.c b/ui/gtk/mcast_stream_dlg.c
index 3bdb17eece..e9c6a1312a 100644
--- a/ui/gtk/mcast_stream_dlg.c
+++ b/ui/gtk/mcast_stream_dlg.c
@@ -136,6 +136,7 @@ mcaststream_on_filter(GtkButton *button _U_, gpointer user_data _U_)
{
gchar *filter_string_fwd;
gchar ip_version[3];
+ char *src_addr, *dst_addr;
if (selected_stream_fwd == NULL)
return;
@@ -145,17 +146,22 @@ mcaststream_on_filter(GtkButton *button _U_, gpointer user_data _U_)
} else {
ip_version[0] = '\0';
}
- filter_string_fwd = g_strdup_printf(
+
+ src_addr = (char*)address_to_str(NULL, &(selected_stream_fwd->src_addr));
+ dst_addr = (char*)address_to_str(NULL, &(selected_stream_fwd->dest_addr));
+ filter_string_fwd = wmem_strdup_printf(NULL,
"(ip%s.src==%s && udp.srcport==%u && ip%s.dst==%s && udp.dstport==%u)",
ip_version,
- ep_address_to_str(&(selected_stream_fwd->src_addr)),
+ src_addr,
selected_stream_fwd->src_port,
ip_version,
- ep_address_to_str(&(selected_stream_fwd->dest_addr)),
+ dst_addr,
selected_stream_fwd->dest_port);
gtk_entry_set_text(GTK_ENTRY(main_display_filter_widget), filter_string_fwd);
- g_free(filter_string_fwd);
+ wmem_free(NULL, filter_string_fwd);
+ wmem_free(NULL, src_addr);
+ wmem_free(NULL, dst_addr);
#if 0
main_filter_packets(&cfile, filter_string, FALSE);
diff --git a/ui/gtk/packet_win.c b/ui/gtk/packet_win.c
index 9c193f0cfa..78c82b66b7 100644
--- a/ui/gtk/packet_win.c
+++ b/ui/gtk/packet_win.c
@@ -510,12 +510,15 @@ finfo_ipv4_output(GtkSpinButton *spinbutton, gpointer user_data _U_)
GtkAdjustment *adj;
guint32 value;
address addr;
+ char* addr_str;
adj = gtk_spin_button_get_adjustment(spinbutton);
value = (guint32) gtk_adjustment_get_value(adj);
value = GUINT32_TO_BE(value);
SET_ADDRESS(&addr, AT_IPv4, 4, &value);
- gtk_entry_set_text(GTK_ENTRY(spinbutton), ep_address_to_str(&addr)); /* XXX, can we ep_alloc() inside gui? */
+ addr_str = (char*)address_to_str(NULL, &addr);
+ gtk_entry_set_text(GTK_ENTRY(spinbutton), addr_str);
+ wmem_free(NULL, addr_str);
return TRUE;
}
diff --git a/ui/gtk/rtp_stream_dlg.c b/ui/gtk/rtp_stream_dlg.c
index 89d1fb9729..9242bb4208 100644
--- a/ui/gtk/rtp_stream_dlg.c
+++ b/ui/gtk/rtp_stream_dlg.c
@@ -380,6 +380,7 @@ rtpstream_on_filter(GtkButton *button _U_, gpointer user_data _U_)
gchar *filter_string_fwd = NULL;
gchar *filter_string_rev = NULL;
gchar ip_version[3];
+ char *src_addr, *dst_addr;
if (selected_stream_fwd==NULL && selected_stream_rev==NULL)
return;
@@ -391,17 +392,21 @@ rtpstream_on_filter(GtkButton *button _U_, gpointer user_data _U_)
} else {
ip_version[0] = '\0';
}
+ src_addr = (char*)address_to_str(NULL, &(selected_stream_fwd->src_addr));
+ dst_addr = (char*)address_to_str(NULL, &(selected_stream_fwd->dest_addr));
filter_string_fwd = g_strdup_printf(
"(ip%s.src==%s && udp.srcport==%u && ip%s.dst==%s && udp.dstport==%u && rtp.ssrc==0x%X)",
ip_version,
- ep_address_to_str(&(selected_stream_fwd->src_addr)),
+ src_addr,
selected_stream_fwd->src_port,
ip_version,
- ep_address_to_str(&(selected_stream_fwd->dest_addr)),
+ dst_addr,
selected_stream_fwd->dest_port,
selected_stream_fwd->ssrc);
filter_string = filter_string_fwd;
+ wmem_free(NULL, src_addr);
+ wmem_free(NULL, dst_addr);
}
if (selected_stream_rev)
@@ -411,17 +416,21 @@ rtpstream_on_filter(GtkButton *button _U_, gpointer user_data _U_)
} else {
ip_version[0] = '\0';
}
+ src_addr = (char*)address_to_str(NULL, &(selected_stream_rev->src_addr));
+ dst_addr = (char*)address_to_str(NULL, &(selected_stream_rev->dest_addr));
filter_string_rev = g_strdup_printf(
"(ip%s.src==%s && udp.srcport==%u && ip%s.dst==%s && udp.dstport==%u && rtp.ssrc==0x%X)",
ip_version,
- ep_address_to_str(&(selected_stream_rev->src_addr)),
+ src_addr,
selected_stream_rev->src_port,
ip_version,
- ep_address_to_str(&(selected_stream_rev->dest_addr)),
+ dst_addr,
selected_stream_rev->dest_port,
selected_stream_rev->ssrc);
filter_string = filter_string_rev;
+ wmem_free(NULL, src_addr);
+ wmem_free(NULL, dst_addr);
}
if ((selected_stream_fwd) && (selected_stream_rev))
diff --git a/ui/gtk/sctp_assoc_analyse.c b/ui/gtk/sctp_assoc_analyse.c
index 3ca666675c..5b787779cc 100644
--- a/ui/gtk/sctp_assoc_analyse.c
+++ b/ui/gtk/sctp_assoc_analyse.c
@@ -261,7 +261,7 @@ update_analyse_dlg(struct sctp_analyse *u_data)
list = g_list_first(u_data->assoc->addr1);
while (list)
{
- gchar field[1][MAX_ADDRESS_LEN];
+ gchar *field;
address *store;
GtkListStore *list_store;
@@ -269,14 +269,19 @@ update_analyse_dlg(struct sctp_analyse *u_data)
if (store->type != AT_NONE) {
if ((store->type == AT_IPv4) || (store->type == AT_IPv6))
{
- g_snprintf(field[0], 40, "%s", ep_address_to_str(store));
+ field = (gchar*)address_to_str(NULL, store);
+ }
+ else
+ {
+ field = NULL;
}
list_store = GTK_LIST_STORE(
gtk_tree_view_get_model(GTK_TREE_VIEW(u_data->analyse_nb->page2->clist))); /* Get store */
gtk_list_store_insert_with_values( list_store , NULL, G_MAXINT,
- 0, field[0], -1);
+ 0, field, -1);
+ wmem_free(NULL, field);
}
list = g_list_next(list);
}
@@ -340,7 +345,7 @@ update_analyse_dlg(struct sctp_analyse *u_data)
list = g_list_first(u_data->assoc->addr2);
while (list)
{
- gchar field[1][MAX_ADDRESS_LEN];
+ gchar *field;
address *store;
GtkListStore *list_store;
@@ -348,14 +353,19 @@ update_analyse_dlg(struct sctp_analyse *u_data)
if (store->type != AT_NONE) {
if ((store->type == AT_IPv4) || (store->type == AT_IPv6))
{
- g_snprintf(field[0], 40, "%s", ep_address_to_str(store));
+ field = (gchar*)address_to_str(NULL, store);
+ }
+ else
+ {
+ field = NULL;
}
list_store = GTK_LIST_STORE(
gtk_tree_view_get_model(GTK_TREE_VIEW(u_data->analyse_nb->page3->clist))); /* Get store */
gtk_list_store_insert_with_values( list_store , NULL, G_MAXINT,
- 0, field[0], -1);
+ 0, field, -1);
+ wmem_free(NULL, field);
}
list = g_list_next(list);
}
@@ -451,79 +461,91 @@ sctp_set_filter(GtkButton *button _U_, struct sctp_analyse *u_data)
struct sockaddr_in *infosrc;
struct sockaddr_in *infodst;
address addr;
+ char *addr_str;
srclist = g_list_first(selected_stream->addr1);
infosrc = (struct sockaddr_in *)(srclist->data);
SET_ADDRESS(&addr, AT_IPv4, 4, &(infosrc->sin_addr.s_addr));
+ addr_str = (char*)address_to_str(NULL, &addr);
gstring = g_string_new(g_strdup_printf(
"((sctp.srcport==%u && sctp.dstport==%u && (ip.src==%s",
selected_stream->port1,
selected_stream->port2,
- ep_address_to_str(&addr)));
+ addr_str));
srclist = g_list_next(srclist);
+ wmem_free(NULL, addr_str);
while (srclist)
{
infosrc = (struct sockaddr_in *)(srclist->data);
SET_ADDRESS(&addr, AT_IPv4, 4, &(infosrc->sin_addr.s_addr));
- str = g_strdup_printf("|| ip.src==%s",
- ep_address_to_str(&addr));
+ addr_str = (char*)address_to_str(NULL, &addr);
+ str = g_strdup_printf("|| ip.src==%s", addr_str);
g_string_append(gstring, str);
srclist = g_list_next(srclist);
+ wmem_free(NULL, addr_str);
}
dstlist = g_list_first(selected_stream->addr2);
infodst = (struct sockaddr_in *)(dstlist->data);
SET_ADDRESS(&addr, AT_IPv4, 4, &(infodst->sin_addr.s_addr));
- str = g_strdup_printf(") && (ip.dst==%s",
- ep_address_to_str(&addr));
+ addr_str = (char*)address_to_str(NULL, &addr);
+ str = g_strdup_printf(") && (ip.dst==%s", addr_str);
g_string_append(gstring, str);
dstlist = g_list_next(dstlist);
+ wmem_free(NULL, addr_str);
+
while (dstlist)
{
infodst = (struct sockaddr_in *)(dstlist->data);
SET_ADDRESS(&addr, AT_IPv4, 4, &(infodst->sin_addr.s_addr));
- str = g_strdup_printf("|| ip.dst==%s",
- ep_address_to_str(&addr));
+ addr_str = (char*)address_to_str(NULL, &addr);
+ str = g_strdup_printf("|| ip.dst==%s", addr_str);
g_string_append(gstring, str);
dstlist = g_list_next(dstlist);
+ wmem_free(NULL, addr_str);
}
srclist = g_list_first(selected_stream->addr1);
infosrc = (struct sockaddr_in *)(srclist->data);
SET_ADDRESS(&addr, AT_IPv4, 4, &(infosrc->sin_addr.s_addr));
+ addr_str = (char*)address_to_str(NULL, &addr);
str = g_strdup_printf(")) || (sctp.dstport==%u && sctp.srcport==%u && (ip.dst==%s",
selected_stream->port1,
selected_stream->port2,
- ep_address_to_str(&addr));
+ addr_str);
g_string_append(gstring, str);
srclist = g_list_next(srclist);
+ wmem_free(NULL, addr_str);
while (srclist)
{
infosrc = (struct sockaddr_in *)(srclist->data);
SET_ADDRESS(&addr, AT_IPv4, 4, &(infosrc->sin_addr.s_addr));
- str = g_strdup_printf("|| ip.dst==%s",
- ep_address_to_str(&addr));
+ addr_str = (char*)address_to_str(NULL, &addr);
+ str = g_strdup_printf("|| ip.dst==%s", addr_str);
g_string_append(gstring, str);
srclist = g_list_next(srclist);
+ wmem_free(NULL, addr_str);
}
dstlist = g_list_first(selected_stream->addr2);
infodst = (struct sockaddr_in *)(dstlist->data);
SET_ADDRESS(&addr, AT_IPv4, 4, &(infodst->sin_addr.s_addr));
- str = g_strdup_printf(") && (ip.src==%s",
- ep_address_to_str(&addr));
+ addr_str = (char*)address_to_str(NULL, &addr);
+ str = g_strdup_printf(") && (ip.src==%s", addr_str);
g_string_append(gstring, str);
dstlist = g_list_next(dstlist);
+ wmem_free(NULL, addr_str);
while (dstlist)
{
infodst = (struct sockaddr_in *)(dstlist->data);
SET_ADDRESS(&addr, AT_IPv4, 4, &(infodst->sin_addr.s_addr));
- str = g_strdup_printf("|| ip.src==%s",
- ep_address_to_str(&addr));
+ addr_str = (char*)address_to_str(NULL, &addr);
+ str = g_strdup_printf("|| ip.src==%s", addr_str);
g_string_append(gstring, str);
dstlist = g_list_next(dstlist);
+ wmem_free(NULL, addr_str);
}
str = g_strdup_printf(")))");
g_string_append(gstring, str);
diff --git a/ui/gtk/sctp_chunk_stat.c b/ui/gtk/sctp_chunk_stat.c
index 7581afe088..c2f0ac763a 100644
--- a/ui/gtk/sctp_chunk_stat.c
+++ b/ui/gtk/sctp_chunk_stat.c
@@ -177,6 +177,7 @@ sctpstat_draw(void *phs)
sctp_ep_t* list = hs->ep_list, *tmp;
GtkListStore *store;
GtkTreeIter iter;
+ char *src_addr, *dst_addr;
/* Now print Message and Reason Counter Table */
/* clear list before printing */
@@ -185,11 +186,14 @@ sctpstat_draw(void *phs)
gtk_list_store_clear(store);
for(tmp = list ; tmp ; tmp=tmp->next) {
+ src_addr = (char*)address_to_str(NULL, &tmp->src);
+ dst_addr = (char*)address_to_str(NULL, &tmp->dst);
+
gtk_list_store_append(store, &iter);
gtk_list_store_set(store, &iter,
- 0, ep_address_to_str(&tmp->src),
+ 0, src_addr,
1, tmp->sport,
- 2, ep_address_to_str(&tmp->dst),
+ 2, dst_addr,
3, tmp->dport,
4, tmp->chunk_count[SCTP_DATA_CHUNK_ID],
5, tmp->chunk_count[SCTP_SACK_CHUNK_ID],
@@ -209,6 +213,8 @@ sctpstat_draw(void *phs)
19, tmp->chunk_count[OTHER_CHUNKS_INDEX],
-1
);
+ wmem_free(NULL, src_addr);
+ wmem_free(NULL, dst_addr);
}
}
diff --git a/ui/gtk/sctp_chunk_stat_dlg.c b/ui/gtk/sctp_chunk_stat_dlg.c
index 1e6d4f9819..d9ddbf8057 100644
--- a/ui/gtk/sctp_chunk_stat_dlg.c
+++ b/ui/gtk/sctp_chunk_stat_dlg.c
@@ -483,14 +483,14 @@ add_to_clist(sctp_addr_chunk* sac)
{
GtkListStore *list_store = NULL;
GtkTreeIter iter;
- gchar field[1][MAX_ADDRESS_LEN];
+ gchar *field;
list_store = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW (clist))); /* Get store */
if ((sac->addr->type == AT_IPv4) || (sac->addr->type == AT_IPv6)) {
- g_snprintf(field[0], MAX_ADDRESS_LEN, "%s", ep_address_to_str(sac->addr));
+ field = (gchar*)address_to_str(NULL, sac->addr);
} else {
- g_snprintf(field[0], MAX_ADDRESS_LEN, "%s", "NONE");
+ field = wmem_strdup(NULL, "NONE");
}
gtk_list_store_insert_with_values( list_store , &iter, G_MAXINT,
@@ -518,6 +518,8 @@ add_to_clist(sctp_addr_chunk* sac)
ASCONF_COLUMN, sac->addr_count[SCTP_ASCONF_CHUNK_ID],
OTHERS_COLUMN, sac->addr_count[OTHER_CHUNKS_INDEX],
-1);
+
+ wmem_free(NULL, field);
}
void sctp_chunk_stat_dlg_update(struct sctp_udata* udata, unsigned int direction)
diff --git a/ui/gtk/sctp_stat_dlg.c b/ui/gtk/sctp_stat_dlg.c
index 26c0daf8a3..8adf75cb56 100644
--- a/ui/gtk/sctp_stat_dlg.c
+++ b/ui/gtk/sctp_stat_dlg.c
@@ -458,67 +458,82 @@ sctp_stat_on_filter(GtkButton *button _U_, gpointer user_data _U_)
struct sockaddr_in *infosrc;
struct sockaddr_in *infodst;
address addr;
+ char *addr_str;
srclist = g_list_first(selected_stream->addr1);
infosrc = (struct sockaddr_in *)(srclist->data);
SET_ADDRESS(&addr, AT_IPv4, 4, &(infosrc->sin_addr.s_addr));
+ addr_str = (char*)address_to_str(NULL, &addr);
gstring = g_string_new(g_strdup_printf("((sctp.srcport==%u && sctp.dstport==%u && (ip.src==%s",
- selected_stream->port1, selected_stream->port2,
- ep_address_to_str(&addr)));
+ selected_stream->port1, selected_stream->port2, addr_str));
srclist= g_list_next(srclist);
+ wmem_free(NULL, addr_str);
while (srclist)
{
infosrc = (struct sockaddr_in *)(srclist->data);
SET_ADDRESS(&addr, AT_IPv4, 4, &(infosrc->sin_addr.s_addr));
- str = g_strdup_printf("|| ip.src==%s", ep_address_to_str(&addr));
+ addr_str = (char*)address_to_str(NULL, &addr);
+ str = g_strdup_printf("|| ip.src==%s", addr_str);
g_string_append(gstring, str);
+ wmem_free(NULL, addr_str);
srclist = g_list_next(srclist);
}
dstlist = g_list_first(selected_stream->addr2);
infodst = (struct sockaddr_in *)(dstlist->data);
SET_ADDRESS(&addr, AT_IPv4, 4, &(infodst->sin_addr.s_addr));
- str = g_strdup_printf(") && (ip.dst==%s", ep_address_to_str(&addr));
+ addr_str = (char*)address_to_str(NULL, &addr);
+ str = g_strdup_printf(") && (ip.dst==%s", addr_str);
g_string_append(gstring, str);
+ wmem_free(NULL, addr_str);
dstlist = g_list_next(dstlist);
while (dstlist)
{
infodst = (struct sockaddr_in *)(dstlist->data);
SET_ADDRESS(&addr, AT_IPv4, 4, &(infodst->sin_addr.s_addr));
- str = g_strdup_printf("|| ip.dst==%s", ep_address_to_str(&addr));
+ addr_str = (char*)address_to_str(NULL, &addr);
+ str = g_strdup_printf("|| ip.dst==%s", addr_str);
g_string_append(gstring, str);
+ wmem_free(NULL, addr_str);
dstlist = g_list_next(dstlist);
}
srclist = g_list_first(selected_stream->addr1);
infosrc = (struct sockaddr_in *)(srclist->data);
SET_ADDRESS(&addr, AT_IPv4, 4, &(infosrc->sin_addr.s_addr));
+ addr_str = (char*)address_to_str(NULL, &addr);
str = g_strdup_printf(")) || (sctp.dstport==%u && sctp.srcport==%u && (ip.dst==%s",
- selected_stream->port1, selected_stream->port2,
- ep_address_to_str(&addr));
+ selected_stream->port1, selected_stream->port2, addr_str);
g_string_append(gstring, str);
+ wmem_free(NULL, addr_str);
srclist = g_list_next(srclist);
while (srclist)
{
infosrc = (struct sockaddr_in *)(srclist->data);
SET_ADDRESS(&addr, AT_IPv4, 4, &(infosrc->sin_addr.s_addr));
- str = g_strdup_printf("|| ip.dst==%s", ep_address_to_str(&addr));
+ addr_str = (char*)address_to_str(NULL, &addr);
+ str = g_strdup_printf("|| ip.dst==%s", addr_str);
g_string_append(gstring, str);
+ wmem_free(NULL, addr_str);
srclist= g_list_next(srclist);
}
dstlist = g_list_first(selected_stream->addr2);
infodst = (struct sockaddr_in *)(dstlist->data);
SET_ADDRESS(&addr, AT_IPv4, 4, &(infodst->sin_addr.s_addr));
- str = g_strdup_printf(") && (ip.src==%s", ep_address_to_str(&addr));
+ addr_str = (char*)address_to_str(NULL, &addr);
+ str = g_strdup_printf(") && (ip.src==%s", addr_str);
g_string_append(gstring, str);
+ wmem_free(NULL, addr_str);
dstlist = g_list_next(dstlist);
while (dstlist)
{
infodst = (struct sockaddr_in *)(dstlist->data);
SET_ADDRESS(&addr, AT_IPv4, 4, &(infodst->sin_addr.s_addr));
- str = g_strdup_printf("|| ip.src==%s", ep_address_to_str(&addr));
+ addr_str = (char*)address_to_str(NULL, &addr);
+ str = g_strdup_printf("|| ip.src==%s", addr_str);
g_string_append(gstring, str);
+ wmem_free(NULL, addr_str);
dstlist = g_list_next(dstlist);
}
str = g_strdup_printf(")))");
diff --git a/ui/gtk/tcp_graph.c b/ui/gtk/tcp_graph.c
index 3c2bf9f30a..79f27cea4b 100644
--- a/ui/gtk/tcp_graph.c
+++ b/ui/gtk/tcp_graph.c
@@ -681,6 +681,7 @@ static void create_drawing_area(struct gtk_graph *g)
char *display_name;
char window_title[WINDOW_TITLE_LENGTH];
GtkAllocation widget_alloc;
+ char *src_addr, *dst_addr;
#if 0
/* Prep. to include the controls in the graph window */
GtkWidget *frame;
@@ -691,15 +692,19 @@ static void create_drawing_area(struct gtk_graph *g)
/* Set title of window with file + conversation details */
display_name = cf_get_display_name(&cfile);
+ src_addr = (char*)address_to_str(NULL, &g->tg.src_address);
+ dst_addr = (char*)address_to_str(NULL, &g->tg.dst_address);
g_snprintf(window_title, WINDOW_TITLE_LENGTH, "TCP Graph %d: %s %s:%d " UTF8_RIGHTWARDS_ARROW " %s:%d",
refnum,
display_name,
- ep_address_to_str(&g->tg.src_address),
+ src_addr,
g->tg.src_port,
- ep_address_to_str(&g->tg.dst_address),
+ dst_addr,
g->tg.dst_port
);
g_free(display_name);
+ wmem_free(NULL, src_addr);
+ wmem_free(NULL, dst_addr);
g->toplevel = dlg_window_new("Tcp Graph");
gtk_window_set_title(GTK_WINDOW(g->toplevel), window_title);
gtk_widget_set_name(g->toplevel, "Test Graph");
diff --git a/ui/gtk/voip_calls_dlg.c b/ui/gtk/voip_calls_dlg.c
index fc581fb9c0..8fbff7aa20 100644
--- a/ui/gtk/voip_calls_dlg.c
+++ b/ui/gtk/voip_calls_dlg.c
@@ -198,6 +198,7 @@ voip_calls_on_filter(GtkButton *button _U_, gpointer user_data _U_)
size_t filter_length;
size_t max_filter_length = 2048; /* What's this based on ? */
int pos;
+ char* addr_str;
const sip_calls_info_t *sipinfo;
const isup_calls_info_t *isupinfo;
@@ -287,10 +288,12 @@ voip_calls_on_filter(GtkButton *button _U_, gpointer user_data _U_)
listb = g_list_first(h323info->h245_list);
while (listb) {
h245_add = (h245_address_t *)listb->data;
+ addr_str = (char*)address_to_str(NULL, &h245_add->h245_address);
g_string_append_printf(filter_string_fwd,
" || (ip.addr == %s && tcp.port == %d && h245)",
- ep_address_to_str(&h245_add->h245_address), h245_add->h245_port);
+ addr_str, h245_add->h245_port);
listb = g_list_next(listb);
+ wmem_free(NULL, addr_str);
}
g_string_append_printf(filter_string_fwd, ")");
break;
diff --git a/ui/gtk/wlan_stat_dlg.c b/ui/gtk/wlan_stat_dlg.c
index cb0823e883..3d328d8ac3 100644
--- a/ui/gtk/wlan_stat_dlg.c
+++ b/ui/gtk/wlan_stat_dlg.c
@@ -756,6 +756,7 @@ wlan_select_filter_cb(GtkWidget *widget _U_, gpointer callback_data, guint callb
GtkTreeSelection *sel;
GtkTreeModel *model;
GtkTreeIter iter;
+ char *addr_str;
sel = gtk_tree_view_get_selection (GTK_TREE_VIEW(hs->table));
if (!gtk_tree_selection_get_selected(sel, &model, &iter))
@@ -764,24 +765,26 @@ wlan_select_filter_cb(GtkWidget *widget _U_, gpointer callback_data, guint callb
value = FILTER_EXTRA(callback_action);
+ addr_str = (char*)address_to_str(NULL, &ep->bssid);
switch (value) {
case VALUE_BSSID_ONLY:
- str = g_strdup_printf("wlan.bssid==%s", ep_address_to_str(&ep->bssid));
+ str = g_strdup_printf("wlan.bssid==%s", addr_str);
break;
case VALUE_SSID_ONLY:
str = g_strdup_printf("wlan_mgt.ssid==\"%s\"", format_text(ep->stats.ssid, ep->stats.ssid_len));
break;
case VALUE_BSSID_AND_SSID:
str = g_strdup_printf("wlan.bssid==%s && wlan_mgt.ssid==\"%s\"",
- ep_address_to_str(&ep->bssid), format_text(ep->stats.ssid, ep->stats.ssid_len));
+ addr_str, format_text(ep->stats.ssid, ep->stats.ssid_len));
break;
case VALUE_BSSID_OR_SSID:
str = g_strdup_printf("wlan.bssid==%s || wlan_mgt.ssid==\"%s\"",
- ep_address_to_str(&ep->bssid), format_text(ep->stats.ssid, ep->stats.ssid_len));
+ addr_str, format_text(ep->stats.ssid, ep->stats.ssid_len));
break;
default:
g_assert_not_reached();
}
+ wmem_free(NULL, addr_str);
apply_selected_filter (callback_action, str);
@@ -797,17 +800,20 @@ wlan_details_select_filter_cb(GtkWidget *widget _U_, gpointer callback_data, gui
GtkTreeSelection *sel;
GtkTreeModel *model;
GtkTreeIter iter;
+ char *addr_str;
sel = gtk_tree_view_get_selection (GTK_TREE_VIEW(hs->details));
if (!gtk_tree_selection_get_selected(sel, &model, &iter))
return;
gtk_tree_model_get (model, &iter, DETAILS_COLUMN, &ep, -1);
- str = g_strdup_printf("wlan.addr==%s", ep_address_to_str(&ep->addr));
+ addr_str = (char*)address_to_str(NULL, &ep->addr);
+ str = g_strdup_printf("wlan.addr==%s", addr_str);
apply_selected_filter (callback_action, str);
g_free (str);
+ wmem_free(NULL, addr_str);
}
static gboolean
diff --git a/ui/iface_lists.c b/ui/iface_lists.c
index 8fed6eddbd..a1f761adc9 100644
--- a/ui/iface_lists.c
+++ b/ui/iface_lists.c
@@ -192,22 +192,26 @@ scan_local_interfaces(void (*update_cb)(void))
addr = (if_addr_t *)curr_addr->data;
if (addr) {
address addr_str;
+ char* temp_addr_str = NULL;
temp_addr->ifat_type = addr->ifat_type;
switch (addr->ifat_type) {
case IF_AT_IPv4:
temp_addr->addr.ip4_addr = addr->addr.ip4_addr;
SET_ADDRESS(&addr_str, AT_IPv4, 4, &addr->addr.ip4_addr);
- g_string_append(ip_str, ep_address_to_str(&addr_str));
+ temp_addr_str = address_to_str(NULL, &addr_str);
+ g_string_append(ip_str, temp_addr_str);
break;
case IF_AT_IPv6:
memcpy(temp_addr->addr.ip6_addr, addr->addr.ip6_addr, sizeof(addr->addr));
SET_ADDRESS(&addr_str, AT_IPv6, 16, addr->addr.ip6_addr);
- g_string_append(ip_str, ep_address_to_str(&addr_str));
+ temp_addr_str = address_to_str(NULL, &addr_str);
+ g_string_append(ip_str, temp_addr_str);
break;
default:
/* In case we add non-IP addresses */
break;
}
+ wmem_free(NULL, temp_addr_str);
} else {
g_free(temp_addr);
temp_addr = NULL;
diff --git a/ui/qt/lbm_lbtrm_transport_dialog.cpp b/ui/qt/lbm_lbtrm_transport_dialog.cpp
index b98cc2dc48..321a52d3f1 100644
--- a/ui/qt/lbm_lbtrm_transport_dialog.cpp
+++ b/ui/qt/lbm_lbtrm_transport_dialog.cpp
@@ -1059,7 +1059,7 @@ void LBMLBTRMTransportDialogInfo::processPacket(const packet_info * pinfo, const
{
LBMLBTRMSourceEntry * source = NULL;
LBMLBTRMSourceMapIterator it;
- QString src_address = QString(ep_address_to_str(&(pinfo->src)));
+ QString src_address = QString(address_to_str(pinfo->pool, &(pinfo->src)));
it = m_sources.find(src_address);
if (m_sources.end() == it)
@@ -1086,7 +1086,7 @@ void LBMLBTRMTransportDialogInfo::processPacket(const packet_info * pinfo, const
{
LBMLBTRMReceiverEntry * receiver = NULL;
LBMLBTRMReceiverMapIterator it;
- QString src_address = QString(ep_address_to_str(&(pinfo->src)));
+ QString src_address = QString(address_to_str(pinfo->pool, &(pinfo->src)));
it = m_receivers.find(src_address);
if (m_receivers.end() == it)
diff --git a/ui/qt/lbm_lbtru_transport_dialog.cpp b/ui/qt/lbm_lbtru_transport_dialog.cpp
index 742025ef1f..cfdad456b5 100644
--- a/ui/qt/lbm_lbtru_transport_dialog.cpp
+++ b/ui/qt/lbm_lbtru_transport_dialog.cpp
@@ -1396,7 +1396,7 @@ void LBMLBTRUTransportDialogInfo::processPacket(const packet_info * pinfo, const
{
LBMLBTRUSourceEntry * source = NULL;
LBMLBTRUSourceMapIterator it;
- QString src_address = QString(ep_address_to_str(&(pinfo->src)));
+ QString src_address = QString(address_to_str(pinfo->pool, &(pinfo->src)));
it = m_sources.find(src_address);
if (m_sources.end() == it)
@@ -1425,7 +1425,7 @@ void LBMLBTRUTransportDialogInfo::processPacket(const packet_info * pinfo, const
{
LBMLBTRUReceiverEntry * receiver = NULL;
LBMLBTRUReceiverMapIterator it;
- QString src_address = QString(ep_address_to_str(&(pinfo->src)));
+ QString src_address = QString(address_to_str(pinfo->pool, &(pinfo->src)));
it = m_receivers.find(src_address);
if (m_receivers.end() == it)
diff --git a/ui/qt/lbm_stream_dialog.cpp b/ui/qt/lbm_stream_dialog.cpp
index 514cd45135..3fecb31260 100644
--- a/ui/qt/lbm_stream_dialog.cpp
+++ b/ui/qt/lbm_stream_dialog.cpp
@@ -56,7 +56,7 @@ namespace
class LBMSubstreamEntry
{
public:
- LBMSubstreamEntry(guint64 channel, guint32 substream_id, const address * source_address, guint16 source_port, const address * destination_address, guint16 destination_port);
+ LBMSubstreamEntry(guint64 channel, guint32 substream_id, const packet_info* pinfo, const address * source_address, guint16 source_port, const address * destination_address, guint16 destination_port);
~LBMSubstreamEntry(void);
void processPacket(guint32 frame, guint32 bytes);
void setItem(QTreeWidgetItem * item);
@@ -79,7 +79,7 @@ class LBMSubstreamEntry
QTreeWidgetItem * m_item;
};
-LBMSubstreamEntry::LBMSubstreamEntry(guint64 channel, guint32 substream_id, const address * source_address, guint16 source_port, const address * destination_address, guint16 destination_port) :
+LBMSubstreamEntry::LBMSubstreamEntry(guint64 channel, guint32 substream_id, const packet_info* pinfo, const address * source_address, guint16 source_port, const address * destination_address, guint16 destination_port) :
m_channel(channel),
m_substream_id(substream_id),
m_first_frame((guint32)(~0)),
@@ -89,10 +89,10 @@ LBMSubstreamEntry::LBMSubstreamEntry(guint64 channel, guint32 substream_id, cons
m_item(NULL)
{
m_endpoint_a = QString("%1:%2")
- .arg(ep_address_to_str(source_address))
+ .arg(address_to_str(pinfo->pool, source_address))
.arg(source_port);
m_endpoint_b = QString("%1:%2")
- .arg(ep_address_to_str(destination_address))
+ .arg(address_to_str(pinfo->pool, destination_address))
.arg(destination_port);
}
@@ -141,7 +141,7 @@ typedef QMap<guint32, LBMSubstreamEntry *>::iterator LBMSubstreamMapIterator;
class LBMStreamEntry
{
public:
- LBMStreamEntry(guint64 channel, const lbm_uim_stream_endpoint_t * endpoint_a, const lbm_uim_stream_endpoint_t * endpoint_b);
+ LBMStreamEntry(const packet_info * pinfo, guint64 channel, const lbm_uim_stream_endpoint_t * endpoint_a, const lbm_uim_stream_endpoint_t * endpoint_b);
~LBMStreamEntry(void);
void processPacket(const packet_info * pinfo, const lbm_uim_stream_tap_info_t * stream_info);
void setItem(QTreeWidgetItem * item);
@@ -153,7 +153,7 @@ class LBMStreamEntry
private:
LBMStreamEntry(void) { }
void fillItem(gboolean update_only = TRUE);
- QString formatEndpoint(const lbm_uim_stream_endpoint_t * endpoint);
+ QString formatEndpoint(const packet_info * pinfo, const lbm_uim_stream_endpoint_t * endpoint);
guint64 m_channel;
QString m_endpoint_a;
QString m_endpoint_b;
@@ -165,7 +165,7 @@ class LBMStreamEntry
LBMSubstreamMap m_substreams;
};
-LBMStreamEntry::LBMStreamEntry(guint64 channel, const lbm_uim_stream_endpoint_t * endpoint_a, const lbm_uim_stream_endpoint_t * endpoint_b) :
+LBMStreamEntry::LBMStreamEntry(const packet_info * pinfo, guint64 channel, const lbm_uim_stream_endpoint_t * endpoint_a, const lbm_uim_stream_endpoint_t * endpoint_b) :
m_channel(channel),
m_first_frame((guint32)(~0)),
m_flast_frame(0),
@@ -174,8 +174,8 @@ LBMStreamEntry::LBMStreamEntry(guint64 channel, const lbm_uim_stream_endpoint_t
m_item(NULL),
m_substreams()
{
- m_endpoint_a = formatEndpoint(endpoint_a);
- m_endpoint_b = formatEndpoint(endpoint_b);
+ m_endpoint_a = formatEndpoint(pinfo, endpoint_a);
+ m_endpoint_b = formatEndpoint(pinfo, endpoint_b);
}
LBMStreamEntry::~LBMStreamEntry(void)
@@ -189,7 +189,7 @@ LBMStreamEntry::~LBMStreamEntry(void)
m_substreams.clear();
}
-QString LBMStreamEntry::formatEndpoint(const lbm_uim_stream_endpoint_t * endpoint)
+QString LBMStreamEntry::formatEndpoint(const packet_info * pinfo, const lbm_uim_stream_endpoint_t * endpoint)
{
if (endpoint->type == lbm_uim_instance_stream)
{
@@ -199,7 +199,7 @@ QString LBMStreamEntry::formatEndpoint(const lbm_uim_stream_endpoint_t * endpoin
{
return QString("%1:%2:%3")
.arg(endpoint->stream_info.dest.domain)
- .arg(ep_address_to_str(&(endpoint->stream_info.dest.addr)))
+ .arg(address_to_str(pinfo->pool, &(endpoint->stream_info.dest.addr)))
.arg(endpoint->stream_info.dest.port);
}
}
@@ -224,7 +224,7 @@ void LBMStreamEntry::processPacket(const packet_info * pinfo, const lbm_uim_stre
{
QTreeWidgetItem * item = NULL;
- substream = new LBMSubstreamEntry(m_channel, stream_info->substream_id, &(pinfo->src), pinfo->srcport, &(pinfo->dst), pinfo->destport);
+ substream = new LBMSubstreamEntry(m_channel, stream_info->substream_id, pinfo, &(pinfo->src), pinfo->srcport, &(pinfo->dst), pinfo->destport);
m_substreams.insert(stream_info->substream_id, substream);
item = new QTreeWidgetItem();
substream->setItem(item);
@@ -310,7 +310,7 @@ void LBMStreamDialogInfo::processPacket(const packet_info * pinfo, const lbm_uim
QTreeWidgetItem * parent = NULL;
Ui::LBMStreamDialog * ui = NULL;
- stream = new LBMStreamEntry(stream_info->channel, &(stream_info->endpoint_a), &(stream_info->endpoint_b));
+ stream = new LBMStreamEntry(pinfo, stream_info->channel, &(stream_info->endpoint_a), &(stream_info->endpoint_b));
it = m_streams.insert(stream_info->channel, stream);
item = new QTreeWidgetItem();
stream->setItem(item);
diff --git a/ui/qt/lbm_uimflow_dialog.cpp b/ui/qt/lbm_uimflow_dialog.cpp
index 010ff90afd..11a5a82c42 100644
--- a/ui/qt/lbm_uimflow_dialog.cpp
+++ b/ui/qt/lbm_uimflow_dialog.cpp
@@ -144,10 +144,10 @@ static gboolean lbm_uimflow_add_to_graph(seq_analysis_info_t * seq_info, packet_
{
item->comment = g_strdup_printf("%" G_GUINT32_FORMAT ":%s:%" G_GUINT16_FORMAT " <-> %" G_GUINT32_FORMAT ":%s:%" G_GUINT16_FORMAT " [%" G_GUINT64_FORMAT "]",
epa.stream_info.dest.domain,
- ep_address_to_str(&(epa.stream_info.dest.addr)),
+ address_to_str(pinfo->pool, &(epa.stream_info.dest.addr)),
epa.stream_info.dest.port,
epb.stream_info.dest.domain,
- ep_address_to_str(&(epb.stream_info.dest.addr)),
+ address_to_str(pinfo->pool, &(epb.stream_info.dest.addr)),
epb.stream_info.dest.port,
stream_info->channel);
}
diff --git a/ui/qt/manage_interfaces_dialog.cpp b/ui/qt/manage_interfaces_dialog.cpp
index a660e936ad..f28affc72f 100644
--- a/ui/qt/manage_interfaces_dialog.cpp
+++ b/ui/qt/manage_interfaces_dialog.cpp
@@ -549,6 +549,7 @@ void ManageInterfacesDialog::addRemoteInterfaces(GList* rlist, remote_options *r
caps = capture_get_if_capabilities(if_string, monitor_mode, NULL, main_window_update);
for (; (curr_addr = g_slist_nth(if_info->addrs, ips)) != NULL; ips++) {
address addr_str;
+ char* temp_addr_str = NULL;
if (ips != 0) {
g_string_append(ip_str, "\n");
}
@@ -556,16 +557,19 @@ void ManageInterfacesDialog::addRemoteInterfaces(GList* rlist, remote_options *r
switch (addr->ifat_type) {
case IF_AT_IPv4:
SET_ADDRESS(&addr_str, AT_IPv4, 4, &addr->addr.ip4_addr);
- g_string_append(ip_str, ep_address_to_str(&addr_str));
+ temp_addr_str = (char*)address_to_str(NULL, &addr_str);
+ g_string_append(ip_str, temp_addr_str);
break;
case IF_AT_IPv6:
SET_ADDRESS(&addr_str, AT_IPv6, 16, addr->addr.ip6_addr);
- g_string_append(ip_str, ep_address_to_str(&addr_str));
+ temp_addr_str = (char*)address_to_str(NULL, &addr_str);
+ g_string_append(ip_str, temp_addr_str);
break;
default:
/* In case we add non-IP addresses */
break;
}
+ wmem_free(NULL, temp_addr_str);
} /* for curr_addr */
linktype_count = 0;
device.links = NULL;
diff --git a/ui/qt/sctp_assoc_analyse_dialog.cpp b/ui/qt/sctp_assoc_analyse_dialog.cpp
index 827af28b21..07097ab052 100644
--- a/ui/qt/sctp_assoc_analyse_dialog.cpp
+++ b/ui/qt/sctp_assoc_analyse_dialog.cpp
@@ -131,7 +131,9 @@ void SCTPAssocAnalyseDialog::fillTabs()
store = (address *)(list->data);
if (store->type != AT_NONE) {
if ((store->type == AT_IPv4) || (store->type == AT_IPv6)) {
- ui->listWidgetEP1->addItem(QString("%1").arg(ep_address_to_str(store)));
+ char* addr_str = (char*)address_to_str(NULL, store);
+ ui->listWidgetEP1->addItem(QString("%1").arg(addr_str));
+ wmem_free(NULL, addr_str);
}
}
list = g_list_next(list);
@@ -183,7 +185,9 @@ void SCTPAssocAnalyseDialog::fillTabs()
store = (address *)(list->data);
if (store->type != AT_NONE) {
if ((store->type == AT_IPv4) || (store->type == AT_IPv6)) {
- ui->listWidgetEP2->addItem(QString("%1").arg(ep_address_to_str(store)));
+ char* addr_str = (char*)address_to_str(NULL, store);
+ ui->listWidgetEP2->addItem(QString("%1").arg(addr_str));
+ wmem_free(NULL, addr_str);
}
}
list = g_list_next(list);
diff --git a/ui/qt/tcp_stream_dialog.cpp b/ui/qt/tcp_stream_dialog.cpp
index bbd5113f54..2f66f3f937 100644
--- a/ui/qt/tcp_stream_dialog.cpp
+++ b/ui/qt/tcp_stream_dialog.cpp
@@ -725,12 +725,17 @@ void TCPStreamDialog::fillWindowScale()
QString TCPStreamDialog::streamDescription()
{
- return QString(tr(" for %1:%2 %3 %4:%5"))
- .arg(ep_address_to_str(&graph_.src_address))
+ char* src_addr = (char*)address_to_str(NULL, &graph_.src_address);
+ char* dst_addr = (char*)address_to_str(NULL, &graph_.dst_address);
+ QString description(tr(" for %1:%2 %3 %4:%5")
+ .arg(src_addr)
.arg(graph_.src_port)
.arg(UTF8_RIGHTWARDS_ARROW)
- .arg(ep_address_to_str(&graph_.dst_address))
- .arg(graph_.dst_port);
+ .arg(dst_addr)
+ .arg(graph_.dst_port));
+ wmem_free(NULL, src_addr);
+ wmem_free(NULL, dst_addr);
+ return description;
}
bool TCPStreamDialog::compareHeaders(segment *seg)
diff --git a/ui/qt/voip_calls_dialog.cpp b/ui/qt/voip_calls_dialog.cpp
index 13c38f416f..d194f5bfa0 100644
--- a/ui/qt/voip_calls_dialog.cpp
+++ b/ui/qt/voip_calls_dialog.cpp
@@ -352,6 +352,7 @@ void VoipCallsDialog::prepareFilter()
const h323_calls_info_t *h323info;
const h245_address_t *h245_add = NULL;
const gcp_ctx_t* ctx;
+ char* addr_str;
if (filter_length < max_filter_length) {
gtk_editable_insert_text(GTK_EDITABLE(main_display_filter_widget), filter_string_fwd->str, -1, &pos);
@@ -398,10 +399,12 @@ void VoipCallsDialog::prepareFilter()
listb = g_list_first(h323info->h245_list);
while (listb) {
h245_add = (h245_address_t *)listb->data;
+ addr_str = (char*)address_to_str(NULL, &h245_add->h245_address);
g_string_append_printf(filter_string_fwd,
" || (ip.addr == %s && tcp.port == %d && h245)",
- ep_address_to_str(&h245_add->h245_address), h245_add->h245_port);
+ addr_str, h245_add->h245_port);
listb = g_list_next(listb);
+ wmem_free(NULL, addr_str);
}
g_string_append_printf(filter_string_fwd, ")");
break;