diff options
author | Michael Mann <mmann78@netscape.net> | 2015-01-17 21:17:24 -0500 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2015-01-18 04:15:18 +0000 |
commit | a1f2342e13c576ae4899bd11e54d350b1ea23625 (patch) | |
tree | 5cbd19df87aecbcfb7ce6b145fbf9bcd7bb2ff39 /epan | |
parent | ef7e8aa065a485edf4a9aba299ceb15a19ae0dd0 (diff) |
Miscellaneous ep_strdup_printf replacement.
Change-Id: I973c672e9d573ad67e9b9fd82a5610aaf8a74efa
Reviewed-on: https://code.wireshark.org/review/6605
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan')
-rw-r--r-- | epan/addr_resolv.c | 12 | ||||
-rw-r--r-- | epan/addr_resolv.h | 2 | ||||
-rw-r--r-- | epan/address_to_str.c | 10 | ||||
-rw-r--r-- | epan/dissectors/packet-nhrp.c | 4 | ||||
-rw-r--r-- | epan/packet.c | 4 | ||||
-rw-r--r-- | epan/packet.h | 2 | ||||
-rw-r--r-- | epan/print.c | 13 |
7 files changed, 27 insertions, 20 deletions
diff --git a/epan/addr_resolv.c b/epan/addr_resolv.c index 8d3d8c7f93..d1993e70b9 100644 --- a/epan/addr_resolv.c +++ b/epan/addr_resolv.c @@ -3026,8 +3026,8 @@ get_ipxnet_addr(const gchar *name, gboolean *known) } /* get_ipxnet_addr */ -const gchar * -get_manuf_name(const guint8 *addr) +gchar * +get_manuf_name(wmem_allocator_t *allocator, const guint8 *addr) { gchar *cur; int manuf_key; @@ -3043,11 +3043,11 @@ get_manuf_name(const guint8 *addr) manuf_key = manuf_key | oct; if (!gbl_resolv_flags.mac_name || ((cur = (gchar *)g_hash_table_lookup(manuf_hashtable, &manuf_key)) == NULL)) { - cur=ep_strdup_printf("%02x:%02x:%02x", addr[0], addr[1], addr[2]); + cur=wmem_strdup_printf(allocator, "%02x:%02x:%02x", addr[0], addr[1], addr[2]); return cur; } - return cur; + return wmem_strdup(allocator, cur); } /* get_manuf_name */ @@ -3059,13 +3059,13 @@ uint_get_manuf_name(const guint oid) addr[0] = (oid >> 16) & 0xFF; addr[1] = (oid >> 8) & 0xFF; addr[2] = (oid >> 0) & 0xFF; - return get_manuf_name(addr); + return get_manuf_name(wmem_packet_scope(), addr); } const gchar * tvb_get_manuf_name(tvbuff_t *tvb, gint offset) { - return get_manuf_name(tvb_get_ptr(tvb, offset, 3)); + return get_manuf_name(wmem_packet_scope(), tvb_get_ptr(tvb, offset, 3)); } const gchar * diff --git a/epan/addr_resolv.h b/epan/addr_resolv.h index 184462c285..56e61a6ba8 100644 --- a/epan/addr_resolv.h +++ b/epan/addr_resolv.h @@ -182,7 +182,7 @@ gchar *get_ether_name_if_known(const guint8 *addr); * Given a sequence of 3 octets containing an OID, get_manuf_name() * returns the vendor name, or "%02x:%02x:%02x" if not known. */ -extern const gchar *get_manuf_name(const guint8 *addr); +extern gchar *get_manuf_name(wmem_allocator_t *allocator, const guint8 *addr); /* * Given a sequence of 3 octets containing an OID, get_manuf_name_if_known() diff --git a/epan/address_to_str.c b/epan/address_to_str.c index b3660bd111..1d388c9dfc 100644 --- a/epan/address_to_str.c +++ b/epan/address_to_str.c @@ -323,7 +323,7 @@ fcwwn_addr_to_str_buf(const guint8 *addrp, gchar *buf, int buf_len) { int fmt; guint8 oui[6]; - gchar *ethptr; + gchar *ethptr, *manuf_name; if (buf_len < 200) { /* This is mostly for manufacturer name */ g_strlcpy(buf, BUF_TOO_SMALL_ERR, buf_len); /* Let the unexpected value alert user */ @@ -338,7 +338,9 @@ fcwwn_addr_to_str_buf(const guint8 *addrp, gchar *buf, int buf_len) case FC_NH_NAA_IEEE_E: memcpy (oui, &addrp[2], 6); - g_snprintf (ethptr, buf_len-23, " (%s)", get_manuf_name (oui)); + manuf_name = get_manuf_name(NULL, oui); + g_snprintf (ethptr, buf_len-23, " (%s)", manuf_name); + wmem_free(NULL, manuf_name); break; case FC_NH_NAA_IEEE_R: @@ -349,7 +351,9 @@ fcwwn_addr_to_str_buf(const guint8 *addrp, gchar *buf, int buf_len) oui[4] = ((addrp[4] & 0x0F) << 4) | ((addrp[5] & 0xF0) >> 4); oui[5] = ((addrp[5] & 0x0F) << 4) | ((addrp[6] & 0xF0) >> 4); - g_snprintf (ethptr, buf_len-23, " (%s)", get_manuf_name (oui)); + manuf_name = get_manuf_name(NULL, oui); + g_snprintf (ethptr, buf_len-23, " (%s)", manuf_name); + wmem_free(NULL, manuf_name); break; default: diff --git a/epan/dissectors/packet-nhrp.c b/epan/dissectors/packet-nhrp.c index d28e2587dc..e61fc42823 100644 --- a/epan/dissectors/packet-nhrp.c +++ b/epan/dissectors/packet-nhrp.c @@ -920,10 +920,10 @@ static void dissect_nhrp_ext(tvbuff_t *tvb, tvb_memcpy(tvb, manuf, offset, 3); vendor_tree = proto_tree_add_subtree_format(nhrp_tree, tvb, offset, len, - ett_nhrp_vendor_ext, NULL, "Extension Data: Vendor ID=%s, Data=%s", get_manuf_name(manuf), + ett_nhrp_vendor_ext, NULL, "Extension Data: Vendor ID=%s, Data=%s", get_manuf_name(wmem_packet_scope(), manuf), tvb_bytes_to_str(wmem_packet_scope(), tvb, offset + 3, len - 3)); proto_tree_add_bytes_format_value(vendor_tree, hf_nhrp_vendor_ext_id, tvb, - offset, 3, manuf, "%s", get_manuf_name(manuf)); + offset, 3, manuf, "%s", get_manuf_name(wmem_packet_scope(), manuf)); if (len > 3) { proto_tree_add_item(vendor_tree, hf_nhrp_vendor_ext_data, tvb, offset + 3, len - 3, ENC_NA); } diff --git a/epan/packet.c b/epan/packet.c index b189c229f4..3baa13752f 100644 --- a/epan/packet.c +++ b/epan/packet.c @@ -347,12 +347,12 @@ remove_last_data_source(packet_info *pinfo) g_slice_free(struct data_source, src); } -const char* +char* get_data_source_name(const struct data_source *src) { guint length = tvb_length(src->tvb); - return ep_strdup_printf("%s (%u byte%s)", src->name, length, + return wmem_strdup_printf(NULL, "%s (%u byte%s)", src->name, length, plurality(length, "", "s")); } diff --git a/epan/packet.h b/epan/packet.h index 4e5aff1644..a087120fb0 100644 --- a/epan/packet.h +++ b/epan/packet.h @@ -579,7 +579,7 @@ WS_DLL_PUBLIC void remove_last_data_source(packet_info *pinfo); * Return the data source name, tvb. */ struct data_source; -WS_DLL_PUBLIC const char *get_data_source_name(const struct data_source *src); +WS_DLL_PUBLIC char *get_data_source_name(const struct data_source *src); WS_DLL_PUBLIC tvbuff_t *get_data_source_tvb(const struct data_source *src); /* diff --git a/epan/print.c b/epan/print.c index 3b15a1723f..fca9c2d4a0 100644 --- a/epan/print.c +++ b/epan/print.c @@ -677,7 +677,7 @@ write_carrays_hex_data(guint32 num, FILE *fh, epan_dissect_t *edt) guint32 i = 0, src_num = 0; GSList *src_le; tvbuff_t *tvb; - const char *name; + char *name; const guchar *cp; guint length; char ascii[9]; @@ -694,8 +694,10 @@ write_carrays_hex_data(guint32 num, FILE *fh, epan_dissect_t *edt) cp = tvb_get_ptr(tvb, 0, length); name = get_data_source_name(src); - if (name) + if (name) { fprintf(fh, "/* %s */\n", name); + wmem_free(NULL, name); + } if (src_num) { fprintf(fh, "static const unsigned char pkt%u_%u[%u] = {\n", num, src_num, length); @@ -846,8 +848,7 @@ print_hex_data(print_stream_t *stream, epan_dissect_t *edt) gboolean multiple_sources; GSList *src_le; tvbuff_t *tvb; - const char *name; - char *line; + char *line, *name; const guchar *cp; guint length; struct data_source *src; @@ -867,6 +868,7 @@ print_hex_data(print_stream_t *stream, epan_dissect_t *edt) if (multiple_sources) { name = get_data_source_name(src); line = g_strdup_printf("%s:", name); + wmem_free(NULL, name); print_line(stream, 0, line); g_free(line); } @@ -1339,8 +1341,9 @@ void write_fields_proto_tree(output_fields_t *fields, epan_dissect_t *edt, colum if (fields->includes_col_fields) { for (col = 0; col < cinfo->num_cols; col++) { /* Prepend COLUMN_FIELD_FILTER as the field name */ - col_name = ep_strdup_printf("%s%s", COLUMN_FIELD_FILTER, cinfo->col_title[col]); + col_name = g_strdup_printf("%s%s", COLUMN_FIELD_FILTER, cinfo->col_title[col]); field_index = g_hash_table_lookup(fields->field_indicies, col_name); + g_free(col_name); if (NULL != field_index) { format_field_values(fields, field_index, g_strdup(cinfo->col_data[col])); |