From 90a76e0d51faed8aff875eafce0a85e39de6ae5f Mon Sep 17 00:00:00 2001 From: Michael Mann Date: Tue, 3 Feb 2015 23:27:01 -0500 Subject: Convert val_to_str -> val_to_str_wmem. This is mostly for GUI usage, but a few dissectors needed some "non-packet scope" conversions. val_to_str officially now uses wmem_packet_scope() Change-Id: Ic9413eeb3406d7a7683222b86709f3675d628d81 Reviewed-on: https://code.wireshark.org/review/6933 Reviewed-by: Michael Mann Petri-Dish: Michael Mann Reviewed-by: Evan Huus Reviewed-by: Anders Broman --- epan/dissectors/packet-csm-encaps.c | 6 +-- epan/dissectors/packet-gsm_abis_oml.c | 28 ++++++++------ epan/dissectors/packet-ieee80211.c | 43 +++++++++++++-------- epan/dissectors/packet-ipmi.c | 6 ++- epan/dissectors/packet-soupbintcp.c | 16 +++++--- epan/proto.c | 47 ++++++++++++++--------- epan/value_string.c | 2 +- ui/cli/tap-camelcounter.c | 5 ++- ui/cli/tap-camelsrt.c | 22 ++++++++--- ui/cli/tap-expert.c | 5 ++- ui/cli/tap-h225counter.c | 57 +++++++++++++++++++++------- ui/cli/tap-h225rassrt.c | 9 ++++- ui/cli/tap-megacostat.c | 5 ++- ui/cli/tap-mgcpstat.c | 5 ++- ui/cli/tap-radiusstat.c | 5 ++- ui/gtk/camel_counter.c | 5 ++- ui/gtk/camel_srt.c | 6 ++- ui/gtk/capture_if_details_dlg_win32.c | 71 +++++++++++++++++++++-------------- ui/gtk/fc_stat.c | 5 ++- ui/gtk/h225_counter.c | 71 ++++++++++++++++++++++------------- ui/gtk/h225_ras_srt.c | 5 ++- ui/gtk/megaco_stat.c | 5 ++- ui/gtk/mgcp_stat.c | 6 ++- ui/gtk/ncp_stat.c | 17 +++++++-- ui/gtk/radius_stat.c | 5 ++- ui/tap-sctp-analysis.c | 15 +++++++- ui/voip_calls.c | 21 +++++++---- 27 files changed, 331 insertions(+), 162 deletions(-) diff --git a/epan/dissectors/packet-csm-encaps.c b/epan/dissectors/packet-csm-encaps.c index 9c12bdb107..fc77342b19 100644 --- a/epan/dissectors/packet-csm-encaps.c +++ b/epan/dissectors/packet-csm-encaps.c @@ -155,11 +155,9 @@ static const gchar * csm_fc(guint16 fc, guint16 ct) { if (fc == 0x0000) { - return wmem_strdup(wmem_packet_scope(), - val_to_str(ct, class_type_vals, "0x%04x")); + return val_to_str(ct, class_type_vals, "0x%04x"); } else { - return wmem_strdup(wmem_packet_scope(), - val_to_str(fc, function_code_vals, "0x%04x")); + return val_to_str(fc, function_code_vals, "0x%04x"); } } diff --git a/epan/dissectors/packet-gsm_abis_oml.c b/epan/dissectors/packet-gsm_abis_oml.c index fa7e6d433f..532f41f37a 100644 --- a/epan/dissectors/packet-gsm_abis_oml.c +++ b/epan/dissectors/packet-gsm_abis_oml.c @@ -1164,6 +1164,7 @@ static const enum_val_t oml_dialect_enumvals[] = { static void format_custom_msgtype(gchar *out, guint32 in) { const gchar *tmp = NULL; + gchar *tmp_str; switch (global_oml_dialect) { case OML_DIALECT_SIEMENS: @@ -1174,21 +1175,23 @@ static void format_custom_msgtype(gchar *out, guint32 in) break; case OML_DIALECT_ETSI: default: - g_snprintf(out, ITEM_LABEL_LENGTH, "%s", - val_to_str(in, oml_fom_msgtype_vals, "Unknown 0x%02x")); - return; + /* Handled by tmp == NULL below */ + break; } if (tmp) g_snprintf(out, ITEM_LABEL_LENGTH, "%s", tmp); - else - g_snprintf(out, ITEM_LABEL_LENGTH, "%s", - val_to_str(in, oml_fom_msgtype_vals, "Unknown 0x%02x")); + else { + tmp_str = val_to_str_wmem(NULL, in, oml_fom_msgtype_vals, "Unknown 0x%02x"); + g_snprintf(out, ITEM_LABEL_LENGTH, "%s", tmp_str); + wmem_free(NULL, tmp_str); + } } static void format_custom_attr(gchar *out, guint32 in) { const gchar *tmp = NULL; + gchar *tmp_str; switch (global_oml_dialect) { case OML_DIALECT_SIEMENS: @@ -1199,16 +1202,17 @@ static void format_custom_attr(gchar *out, guint32 in) break; case OML_DIALECT_ETSI: default: - g_snprintf(out, ITEM_LABEL_LENGTH, "%s", - val_to_str(in, oml_fom_attr_vals, "Unknown 0x%02x")); - return; + /* Handled by tmp == NULL below */ + break; } if (tmp) g_snprintf(out, ITEM_LABEL_LENGTH, "%s", tmp); - else - g_snprintf(out, ITEM_LABEL_LENGTH, "%s", - val_to_str(in, oml_fom_attr_vals, "Unknown 0x%02x")); + else { + tmp_str = val_to_str_wmem(NULL, in, oml_fom_attr_vals, "Unknown 0x%02x"); + g_snprintf(out, ITEM_LABEL_LENGTH, "%s", tmp_str); + wmem_free(NULL, tmp_str); + } } /* Section 9.4.4: Administrative State */ diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c index 425c4bffc8..307d674420 100644 --- a/epan/dissectors/packet-ieee80211.c +++ b/epan/dissectors/packet-ieee80211.c @@ -9517,33 +9517,39 @@ static void rsn_gcs_base_custom(gchar *result, guint32 gcs) { gchar oui_result[SHORT_STR]; + gchar *tmp_str; oui_result[0] = '\0'; oui_base_custom(oui_result, gcs >> 8); - g_snprintf(result, ITEM_LABEL_LENGTH, "%s %s", oui_result, - val_to_str(gcs & 0xFF, ieee80211_rsn_cipher_vals, "Unknown %d")); + tmp_str = val_to_str_wmem(NULL, gcs & 0xFF, ieee80211_rsn_cipher_vals, "Unknown %d"); + g_snprintf(result, ITEM_LABEL_LENGTH, "%s %s", oui_result, tmp_str); + wmem_free(NULL, tmp_str); } static void rsn_pcs_base_custom(gchar *result, guint32 pcs) { gchar oui_result[SHORT_STR]; + gchar *tmp_str; oui_result[0] = '\0'; oui_base_custom(oui_result, pcs >> 8); - g_snprintf(result, ITEM_LABEL_LENGTH, "%s %s", oui_result, - val_to_str(pcs & 0xFF, ieee80211_rsn_cipher_vals, "Unknown %d")); + tmp_str = val_to_str_wmem(NULL, pcs & 0xFF, ieee80211_rsn_cipher_vals, "Unknown %d"); + g_snprintf(result, ITEM_LABEL_LENGTH, "%s %s", oui_result, tmp_str); + wmem_free(NULL, tmp_str); } static void rsn_akms_base_custom(gchar *result, guint32 akms) { gchar oui_result[SHORT_STR]; + gchar *tmp_str; oui_result[0] = '\0'; oui_base_custom(oui_result, akms >> 8); - g_snprintf(result, ITEM_LABEL_LENGTH, "%s %s", oui_result, - val_to_str(akms & 0xFF, ieee80211_rsn_keymgmt_vals, "Unknown %d")); + tmp_str = val_to_str_wmem(NULL, akms & 0xFF, ieee80211_rsn_keymgmt_vals, "Unknown %d"); + g_snprintf(result, ITEM_LABEL_LENGTH, "%s %s", oui_result, tmp_str); + wmem_free(NULL, tmp_str); } static gchar * @@ -9574,11 +9580,13 @@ static void rsn_gmcs_base_custom(gchar *result, guint32 gmcs) { gchar oui_result[SHORT_STR]; + gchar *tmp_str; oui_result[0] = '\0'; oui_base_custom(oui_result, gmcs >> 8); - g_snprintf(result, ITEM_LABEL_LENGTH, "%s %s", oui_result, - val_to_str(gmcs & 0xFF, ieee80211_rsn_cipher_vals, "Unknown %d")); + tmp_str = val_to_str_wmem(NULL, gmcs & 0xFF, ieee80211_rsn_cipher_vals, "Unknown %d"); + g_snprintf(result, ITEM_LABEL_LENGTH, "%s %s", oui_result, tmp_str); + wmem_free(NULL, tmp_str); } static void @@ -9697,33 +9705,38 @@ static void wpa_mcs_base_custom(gchar *result, guint32 mcs) { gchar oui_result[SHORT_STR]; + gchar *tmp_str; oui_result[0] = '\0'; oui_base_custom(oui_result, mcs >> 8); - g_snprintf(result, ITEM_LABEL_LENGTH, "%s %s", oui_result, - val_to_str(mcs & 0xFF, ieee80211_wfa_ie_wpa_cipher_vals, "Unknown %d")); + tmp_str = val_to_str_wmem(NULL, mcs & 0xFF, ieee80211_wfa_ie_wpa_cipher_vals, "Unknown %d"); + g_snprintf(result, ITEM_LABEL_LENGTH, "%s %s", oui_result, tmp_str); + wmem_free(NULL, tmp_str); } static void wpa_ucs_base_custom(gchar *result, guint32 ucs) { gchar oui_result[SHORT_STR]; + gchar *tmp_str; oui_result[0] = '\0'; oui_base_custom(oui_result, ucs >> 8); - g_snprintf(result, ITEM_LABEL_LENGTH, "%s %s", oui_result, - val_to_str(ucs & 0xFF, ieee80211_wfa_ie_wpa_cipher_vals, "Unknown %d")); - + tmp_str = val_to_str_wmem(NULL, ucs & 0xFF, ieee80211_wfa_ie_wpa_cipher_vals, "Unknown %d"); + g_snprintf(result, ITEM_LABEL_LENGTH, "%s %s", oui_result, tmp_str); + wmem_free(NULL, tmp_str); } static void wpa_akms_base_custom(gchar *result, guint32 akms) { gchar oui_result[SHORT_STR]; + gchar *tmp_str; oui_result[0] = '\0'; oui_base_custom(oui_result, akms >> 8); - g_snprintf(result, ITEM_LABEL_LENGTH, "%s %s", oui_result, - val_to_str(akms & 0xFF, ieee80211_wfa_ie_wpa_keymgmt_vals, "Unknown %d")); + tmp_str = val_to_str_wmem(NULL, akms & 0xFF, ieee80211_wfa_ie_wpa_keymgmt_vals, "Unknown %d"); + g_snprintf(result, ITEM_LABEL_LENGTH, "%s %s", oui_result, tmp_str); + wmem_free(NULL, tmp_str); } static gchar * diff --git a/epan/dissectors/packet-ipmi.c b/epan/dissectors/packet-ipmi.c index 1a0701adb2..7587eb4d2b 100644 --- a/epan/dissectors/packet-ipmi.c +++ b/epan/dissectors/packet-ipmi.c @@ -1269,9 +1269,11 @@ ipmi_fmt_channel(gchar *s, guint32 v) { 0x0f, "System Interface" }, { 0, NULL } }; + gchar* tmp_str; - g_snprintf(s, ITEM_LABEL_LENGTH, "%s (0x%02x)", - val_to_str(v, chan_vals, "Channel #%d"), v); + tmp_str = val_to_str_wmem(NULL, v, chan_vals, "Channel #%d"); + g_snprintf(s, ITEM_LABEL_LENGTH, "%s (0x%02x)", tmp_str, v); + wmem_free(NULL, tmp_str); } void diff --git a/epan/dissectors/packet-soupbintcp.c b/epan/dissectors/packet-soupbintcp.c index d48eebca0e..50c75bc2b4 100644 --- a/epan/dissectors/packet-soupbintcp.c +++ b/epan/dissectors/packet-soupbintcp.c @@ -142,10 +142,12 @@ format_packet_type( gchar *buf, guint32 value) { + gchar* tmp_str; + + tmp_str = val_to_str_wmem(NULL, value, pkt_type_val, "Unknown packet"); g_snprintf(buf, ITEM_LABEL_LENGTH, - "%s (%c)", - val_to_str(value, pkt_type_val, "Unknown packet"), - (char)(value & 0xff)); + "%s (%c)", tmp_str, (char)(value & 0xff)); + wmem_free(NULL, tmp_str); } @@ -160,10 +162,12 @@ format_reject_code( gchar *buf, guint32 value) { + gchar* tmp_str; + + tmp_str = val_to_str_wmem(NULL, value, reject_code_val, "Unknown reject code"); g_snprintf(buf, ITEM_LABEL_LENGTH, - "%s (%c)", - val_to_str(value, reject_code_val, "Unknown reject code"), - (char)(value & 0xff)); + "%s (%c)", tmp_str, (char)(value & 0xff)); + wmem_free(NULL, tmp_str); } diff --git a/epan/proto.c b/epan/proto.c index 9e019efd60..e12f3b62f5 100644 --- a/epan/proto.c +++ b/epan/proto.c @@ -5477,6 +5477,7 @@ static const value_string hf_display[] = { static void tmp_fld_check_assert(header_field_info *hfinfo) { + gchar* tmp_str; /* The field must have a name (with length > 0) */ if (!hfinfo->name || !hfinfo->name[0]) { @@ -5584,10 +5585,11 @@ tmp_fld_check_assert(header_field_info *hfinfo) case BASE_OCT: case BASE_DEC_HEX: case BASE_HEX_DEC: + tmp_str = val_to_str_wmem(NULL, hfinfo->display, hf_display, "(Bit count: %d)"); g_error("Field '%s' (%s) is signed (%s) but is being displayed unsigned (%s)\n", hfinfo->name, hfinfo->abbrev, - ftype_name(hfinfo->type), - val_to_str(hfinfo->display, hf_display, "(Bit count: %d)")); + ftype_name(hfinfo->type), tmp_str); + wmem_free(NULL, tmp_str); } /* FALL THROUGH */ case FT_UINT8: @@ -5611,11 +5613,12 @@ tmp_fld_check_assert(header_field_info *hfinfo) case BASE_CUSTOM: /* hfinfo_numeric_value_format() treats this as decimal */ break; default: + tmp_str = val_to_str_wmem(NULL, hfinfo->display, hf_display, "(Unknown: 0x%x)"); g_error("Field '%s' (%s) is an integral value (%s)" " but is being displayed as %s\n", hfinfo->name, hfinfo->abbrev, - ftype_name(hfinfo->type), - val_to_str(hfinfo->display, hf_display, "(Unknown: 0x%x)")); + ftype_name(hfinfo->type), tmp_str); + wmem_free(NULL, tmp_str); } break; case FT_BYTES: @@ -5630,9 +5633,10 @@ tmp_fld_check_assert(header_field_info *hfinfo) case SEP_SPACE: break; default: - g_error("Field '%s' (%s) is an byte array but is being displayed as %s instead of BASE_NONE, SEP_DOT, SEP_DASH, SEP_COLON, or SEP_SPACE\n", - hfinfo->name, hfinfo->abbrev, - val_to_str(hfinfo->display, hf_display, "(Bit count: %d)")); + tmp_str = val_to_str_wmem(NULL, hfinfo->display, hf_display, "(Bit count: %d)"); + g_error("Field '%s' (%s) is an byte array but is being displayed as %s instead of BASE_NONE, SEP_DOT, SEP_DASH, SEP_COLON, or SEP_SPACE\n", + hfinfo->name, hfinfo->abbrev, tmp_str); + wmem_free(NULL, tmp_str); } if (hfinfo->bitmask != 0) g_error("Field '%s' (%s) is an %s but has a bitmask\n", @@ -5646,11 +5650,13 @@ tmp_fld_check_assert(header_field_info *hfinfo) case FT_PROTOCOL: case FT_FRAMENUM: - if (hfinfo->display != BASE_NONE) + if (hfinfo->display != BASE_NONE) { + tmp_str = val_to_str_wmem(NULL, hfinfo->display, hf_display, "(Bit count: %d)"); g_error("Field '%s' (%s) is an %s but is being displayed as %s instead of BASE_NONE\n", hfinfo->name, hfinfo->abbrev, - ftype_name(hfinfo->type), - val_to_str(hfinfo->display, hf_display, "(Bit count: %d)")); + ftype_name(hfinfo->type), tmp_str); + wmem_free(NULL, tmp_str); + } if (hfinfo->bitmask != 0) g_error("Field '%s' (%s) is an %s but has a bitmask\n", hfinfo->name, hfinfo->abbrev, @@ -5663,11 +5669,12 @@ tmp_fld_check_assert(header_field_info *hfinfo) case FT_ABSOLUTE_TIME: if (!(hfinfo->display == ABSOLUTE_TIME_LOCAL || hfinfo->display == ABSOLUTE_TIME_UTC || - hfinfo->display == ABSOLUTE_TIME_DOY_UTC)) + hfinfo->display == ABSOLUTE_TIME_DOY_UTC)) { + tmp_str = val_to_str_wmem(NULL, hfinfo->display, hf_display, "(Bit count: %d)"); g_error("Field '%s' (%s) is a %s but is being displayed as %s instead of as a time\n", - hfinfo->name, hfinfo->abbrev, - ftype_name(hfinfo->type), - val_to_str(hfinfo->display, hf_display, "(Bit count: %d)")); + hfinfo->name, hfinfo->abbrev, ftype_name(hfinfo->type), tmp_str); + wmem_free(NULL, tmp_str); + } if (hfinfo->bitmask != 0) g_error("Field '%s' (%s) is an %s but has a bitmask\n", hfinfo->name, hfinfo->abbrev, @@ -5684,11 +5691,12 @@ tmp_fld_check_assert(header_field_info *hfinfo) break; default: + tmp_str = val_to_str_wmem(NULL, hfinfo->display, hf_display, "(Unknown: 0x%x)"); g_error("Field '%s' (%s) is an string value (%s)" " but is being displayed as %s\n", hfinfo->name, hfinfo->abbrev, - ftype_name(hfinfo->type), - val_to_str(hfinfo->display, hf_display, "(Unknown: 0x%x)")); + ftype_name(hfinfo->type), tmp_str); + wmem_free(NULL, tmp_str); } if (hfinfo->bitmask != 0) @@ -5702,11 +5710,14 @@ tmp_fld_check_assert(header_field_info *hfinfo) break; default: - if (hfinfo->display != BASE_NONE) + if (hfinfo->display != BASE_NONE) { + tmp_str = val_to_str_wmem(NULL, hfinfo->display, hf_display, "(Bit count: %d)"); g_error("Field '%s' (%s) is an %s but is being displayed as %s instead of BASE_NONE\n", hfinfo->name, hfinfo->abbrev, ftype_name(hfinfo->type), - val_to_str(hfinfo->display, hf_display, "(Bit count: %d)")); + tmp_str); + wmem_free(NULL, tmp_str); + } if (hfinfo->bitmask != 0) g_error("Field '%s' (%s) is an %s but has a bitmask\n", hfinfo->name, hfinfo->abbrev, diff --git a/epan/value_string.c b/epan/value_string.c index d5b8b64618..463d84f49f 100644 --- a/epan/value_string.c +++ b/epan/value_string.c @@ -47,7 +47,7 @@ val_to_str(const guint32 val, const value_string *vs, const char *fmt) if (ret != NULL) return ret; - return ep_strdup_printf(fmt, val); + return wmem_strdup_printf(wmem_packet_scope(), fmt, val); } gchar * diff --git a/ui/cli/tap-camelcounter.c b/ui/cli/tap-camelcounter.c index d6e31d5f65..0eb40de997 100644 --- a/ui/cli/tap-camelcounter.c +++ b/ui/cli/tap-camelcounter.c @@ -68,6 +68,7 @@ static void camelcounter_draw(void *phs) { struct camelcounter_t * p_counter= (struct camelcounter_t *)phs; int i; + gchar *tmp_str; printf("\n"); printf("CAMEL Message and Response Status Counter:\n"); printf("------------------------------------------\n"); @@ -75,7 +76,9 @@ static void camelcounter_draw(void *phs) for (i=0; icamel_msg[i] != 0) { - printf("%30s ", val_to_str(i, camel_opr_code_strings, "Unknown message ")); + tmp_str = val_to_str_wmem(NULL, i, camel_opr_code_strings, "Unknown message (%d)"); + printf("%30s ", tmp_str); + wmem_free(NULL, tmp_str); printf("%6d\n", p_counter->camel_msg[i]); } } /* Message Type */ diff --git a/ui/cli/tap-camelsrt.c b/ui/cli/tap-camelsrt.c index 20e67954cb..7d2ab8d470 100644 --- a/ui/cli/tap-camelsrt.c +++ b/ui/cli/tap-camelsrt.c @@ -100,6 +100,7 @@ static void camelsrt_draw(void *phs) double x, delay, delay_max, delay_min, delta; double criteria[NB_CRITERIA] = { 5.0, 10.0, 75.0, 90.0, 95.0, 99.0, 99.90 }; double delay_criteria[NB_CRITERIA]; + gchar* tmp_str; printf("\n"); printf("Camel Service Response Time (SRT) Statistics:\n"); @@ -108,8 +109,9 @@ static void camelsrt_draw(void *phs) printf("|-------------------------|---------|-----------|-----------|-----------|-----------|-----------|\n"); j = 1; + tmp_str = val_to_str_wmem(NULL, j, camelSRTtype_naming, "Unknown Message 0x%02x"); printf("|%24s |%8u |%8.2f s |%8.2f s |%8.2f s |%10u |%10u |\n", - val_to_str(j, camelSRTtype_naming, "Unknown Message 0x%02x"), + tmp_str, hs->stats[j].num, nstime_to_sec(&(hs->stats[j].min)), nstime_to_sec(&(hs->stats[j].max)), @@ -117,16 +119,19 @@ static void camelsrt_draw(void *phs) hs->stats[j].min_num, hs->stats[j].max_num ); + wmem_free(NULL, tmp_str); for (j=2; jstats[j].num == 0) { + tmp_str = val_to_str_wmem(NULL, j, camelSRTtype_naming, "Unknown Message 0x%02x"); printf("|%24s |%8u |%8.2f ms|%8.2f ms|%8.2f ms|%10u |%10u |\n", - val_to_str(j, camelSRTtype_naming, "Unknown Message 0x%02x"), - 0, 0.0, 0.0, 0.0, 0, 0); + tmp_str, 0, 0.0, 0.0, 0.0, 0, 0); + wmem_free(NULL, tmp_str); continue; } + tmp_str = val_to_str_wmem(NULL, j, camelSRTtype_naming, "Unknown Message 0x%02x"); printf("|%24s |%8u |%8.2f ms|%8.2f ms|%8.2f ms|%10u |%10u |\n", - val_to_str(j, camelSRTtype_naming, "Unknown Message 0x%02x"), + tmp_str, hs->stats[j].num, MIN(9999, nstime_to_msec(&(hs->stats[j].min))), MIN(9999, nstime_to_msec(&(hs->stats[j].max))), @@ -134,6 +139,7 @@ static void camelsrt_draw(void *phs) hs->stats[j].min_num, hs->stats[j].max_num ); + wmem_free(NULL, tmp_str); } /* j category */ printf("=================================================================================================\n"); @@ -183,11 +189,15 @@ static void camelsrt_draw(void *phs) delay_criteria[z] = delay; } /* z criteria */ /* Append the result to the table */ - printf("X%24s |", val_to_str(j, camelSRTtype_naming, "Unknown") ); + tmp_str = val_to_str_wmem(NULL, j, camelSRTtype_naming, "Unknown Message 0x%02x"); + printf("X%24s |", tmp_str); + wmem_free(NULL, tmp_str); for (z=0; zlen == 0) { @@ -167,10 +168,12 @@ static void draw_items_for_severity(GArray *items, const gchar *label) /* Items */ for (n=0; n < items->len; n++) { ei = &g_array_index(items, expert_entry, n); + tmp_str = val_to_str_wmem(NULL, ei->group, expert_group_vals, "Unknown (%d)"); printf("%12u %10s %18s %s\n", ei->frequency, - val_to_str(ei->group, expert_group_vals, "Unknown"), + tmp_str, ei->protocol, ei->summary); + wmem_free(NULL, tmp_str); } } diff --git a/ui/cli/tap-h225counter.c b/ui/cli/tap-h225counter.c index 064dbebe3f..e75fe56f2e 100644 --- a/ui/cli/tap-h225counter.c +++ b/ui/cli/tap-h225counter.c @@ -228,81 +228,104 @@ h225counter_draw(void *phs) { h225counter_t *hs = (h225counter_t *)phs; int i, j; + gchar* tmp_str; printf("================== H225 Message and Reason Counter ==================\n"); printf("RAS-Messages:\n"); for (i=0; i<=RAS_MSG_TYPES; i++) { if (hs->ras_msg[i] != 0) { - printf(" %s : %u\n", val_to_str(i, h225_RasMessage_vals, "unknown ras-messages "), hs->ras_msg[i]); + tmp_str = val_to_str_wmem(NULL, i, h225_RasMessage_vals, "unknown ras-messages (%d)"); + printf(" %s : %u\n", tmp_str, hs->ras_msg[i]); + wmem_free(NULL, tmp_str); /* reason counter */ switch (i) { case 2: /* GRJ */ for (j=0; j<=GRJ_REASONS; j++) { if (hs->grj_reason[j] != 0) { - printf(" %s : %u\n", val_to_str(j, GatekeeperRejectReason_vals, "unknown reason "), hs->grj_reason[j]); + tmp_str = val_to_str_wmem(NULL, j, GatekeeperRejectReason_vals, "unknown reason (%d)"); + printf(" %s : %u\n", tmp_str, hs->grj_reason[j]); + wmem_free(NULL, tmp_str); } } break; case 5: /* RRJ */ for (j=0; j<=RRJ_REASONS; j++) { if (hs->rrj_reason[j] != 0 ) { - printf(" %s : %u\n", val_to_str(j, RegistrationRejectReason_vals, "unknown reason "), hs->rrj_reason[j]); + tmp_str = val_to_str_wmem(NULL, j, RegistrationRejectReason_vals, "unknown reason (%d)"); + printf(" %s : %u\n", tmp_str, hs->rrj_reason[j]); + wmem_free(NULL, tmp_str); } } break; case 6: /* URQ */ for (j=0; j<=URQ_REASONS; j++) { if (hs->urq_reason[j] != 0) { - printf(" %s : %u\n", val_to_str(j, UnregRequestReason_vals, "unknown reason "), hs->urq_reason[j]); + tmp_str = val_to_str_wmem(NULL, j, UnregRequestReason_vals, "unknown reason (%d)"); + printf(" %s : %u\n", tmp_str, hs->urq_reason[j]); + wmem_free(NULL, tmp_str); } } break; case 8: /* URJ */ for (j=0; j<=URJ_REASONS; j++) { if (hs->urj_reason[j] != 0) { - printf(" %s : %u\n", val_to_str(j, UnregRejectReason_vals, "unknown reason "), hs->urj_reason[j]); + tmp_str = val_to_str_wmem(NULL, j, UnregRejectReason_vals, "unknown reason (%d)"); + printf(" %s : %u\n", tmp_str, hs->urj_reason[j]); + wmem_free(NULL, tmp_str); } } break; case 11: /* ARJ */ for (j=0; j<=ARJ_REASONS; j++) { if (hs->arj_reason[j] != 0) { - printf(" %s : %u\n", val_to_str(j, AdmissionRejectReason_vals, "unknown reason "), hs->arj_reason[j]); + tmp_str = val_to_str_wmem(NULL, j, AdmissionRejectReason_vals, "unknown reason (%d)"); + printf(" %s : %u\n", tmp_str, hs->arj_reason[j]); + wmem_free(NULL, tmp_str); } } break; case 14: /* BRJ */ for (j=0; j<=BRJ_REASONS; j++) { if (hs->brj_reason[j] != 0) { - printf(" %s : %u\n", val_to_str(j, BandRejectReason_vals, "unknown reason "), hs->brj_reason[j]); + tmp_str = val_to_str_wmem(NULL, j, BandRejectReason_vals, "unknown reason (%d)"); + printf(" %s : %u\n", tmp_str, hs->brj_reason[j]); + wmem_free(NULL, tmp_str); } } break; case 15: /* DRQ */ for (j=0; j<=DRQ_REASONS; j++) { if (hs->drq_reason[j] != 0) { - printf(" %s : %u\n", val_to_str(j, DisengageReason_vals, "unknown reason "), hs->drq_reason[j]); + tmp_str = val_to_str_wmem(NULL, j, DisengageReason_vals, "unknown reason (%d)"); + printf(" %s : %u\n", tmp_str, hs->drq_reason[j]); + wmem_free(NULL, tmp_str); } } break; case 17: /* DRJ */ for (j=0; j<=DRJ_REASONS; j++) { if (hs->drj_reason[j] != 0) { - printf(" %s : %u\n", val_to_str(j, DisengageRejectReason_vals, "unknown reason "), hs->drj_reason[j]); + tmp_str = val_to_str_wmem(NULL, j, DisengageRejectReason_vals, "unknown reason (%d)"); + printf(" %s : %u\n", tmp_str, hs->drj_reason[j]); + wmem_free(NULL, tmp_str); } } break; case 20: /* LRJ */ for (j=0; j<=LRJ_REASONS; j++) { if (hs->lrj_reason[j] != 0) { - printf(" %s : %u\n", val_to_str(j, LocationRejectReason_vals, "unknown reason "), hs->lrj_reason[j]); + tmp_str = val_to_str_wmem(NULL, j, DisengageRejectReason_vals, "unknown reason (%d)"); + printf(" %s : %u\n", tmp_str, hs->lrj_reason[j]); + wmem_free(NULL, tmp_str); } } break; case 29: /* IRQNak */ for (j=0; j<= IRQNAK_REASONS; j++) { if (hs->irqnak_reason[j] != 0) { - printf(" %s : %u\n", val_to_str(j, InfoRequestNakReason_vals, "unknown reason "), hs->irqnak_reason[j]); + tmp_str = val_to_str_wmem(NULL, j, InfoRequestNakReason_vals, "unknown reason (%d)"); + printf(" %s : %u\n", tmp_str, hs->irqnak_reason[j]); + wmem_free(NULL, tmp_str); } } break; @@ -315,20 +338,26 @@ h225counter_draw(void *phs) printf("Call Signalling:\n"); for (i=0; i<=CS_MSG_TYPES; i++) { if (hs->cs_msg[i] != 0) { - printf(" %s : %u\n", val_to_str(i, T_h323_message_body_vals, "unknown cs-messages "), hs->cs_msg[i]); + tmp_str = val_to_str_wmem(NULL, i, T_h323_message_body_vals, "unknown cs-messages (%d)"); + printf(" %s : %u\n", tmp_str, hs->cs_msg[i]); + wmem_free(NULL, tmp_str); /* reason counter */ switch (i) { case 5: /* ReleaseComplete */ for (j=0; j<=REL_CMP_REASONS; j++) { if (hs->rel_cmp_reason[j] != 0) { - printf(" %s : %u\n", val_to_str(j, h225_ReleaseCompleteReason_vals, "unknown reason "), hs->rel_cmp_reason[j]); + tmp_str = val_to_str_wmem(NULL, j, h225_ReleaseCompleteReason_vals, "unknown reason (%d)"); + printf(" %s : %u\n", tmp_str, hs->rel_cmp_reason[j]); + wmem_free(NULL, tmp_str); } } break; case 6: /* Facility */ for (j=0; j<=FACILITY_REASONS; j++) { if (hs->facility_reason[j] != 0) { - printf(" %s : %u\n", val_to_str(j, FacilityReason_vals, "unknown reason "), hs->facility_reason[j]); + tmp_str = val_to_str_wmem(NULL, j, FacilityReason_vals, "unknown reason (%d)"); + printf(" %s : %u\n", tmp_str, hs->facility_reason[j]); + wmem_free(NULL, tmp_str); } } break; diff --git a/ui/cli/tap-h225rassrt.c b/ui/cli/tap-h225rassrt.c index 08badeb686..9a1a3ef657 100644 --- a/ui/cli/tap-h225rassrt.c +++ b/ui/cli/tap-h225rassrt.c @@ -172,6 +172,7 @@ h225rassrt_draw(void *phs) h225rassrt_t *hs = (h225rassrt_t *)phs; int i; timestat_t *rtd_temp; + gchar* tmp_str; printf("======================================== H225 RAS Service Response Time ========================================\n"); printf("H225 RAS Service Response Time (SRT) Statistics:\n"); @@ -179,12 +180,14 @@ h225rassrt_draw(void *phs) for (i=0; iras_rtd[i].stats); if (rtd_temp->num) { + tmp_str = val_to_str_wmem(NULL, i, ras_message_category, "Unknown (%d) "); printf("%s | %10u | %9.2f msec | %9.2f msec | %9.2f msec | %10u | %10u |\n", - val_to_str(i, ras_message_category, "Unknown "), rtd_temp->num, + tmp_str, rtd_temp->num, nstime_to_msec(&(rtd_temp->min)), nstime_to_msec(&(rtd_temp->max)), get_average(&(rtd_temp->tot), rtd_temp->num), rtd_temp->min_num, rtd_temp->max_num ); + wmem_free(NULL, tmp_str); } } printf("================================================================================================================\n"); @@ -192,11 +195,13 @@ h225rassrt_draw(void *phs) for (i=0; iras_rtd[i].stats); if (rtd_temp->num) { + tmp_str = val_to_str_wmem(NULL, i, ras_message_category, "Unknown (%d) "); printf("%s | %10u | %10u | %10u | %10u |\n", - val_to_str(i, ras_message_category, "Unknown "), + tmp_str, hs->ras_rtd[i].open_req_num, hs->ras_rtd[i].disc_rsp_num, hs->ras_rtd[i].req_dup_num, hs->ras_rtd[i].rsp_dup_num ); + wmem_free(NULL, tmp_str); } } printf("================================================================================================================\n"); diff --git a/ui/cli/tap-megacostat.c b/ui/cli/tap-megacostat.c index 63107bae6b..1a5174847b 100644 --- a/ui/cli/tap-megacostat.c +++ b/ui/cli/tap-megacostat.c @@ -43,6 +43,7 @@ static void megacostat_draw(void *pms) { megacostat_t *ms = (megacostat_t *)pms; + gchar* tmp_str; int i; /* printing results */ @@ -57,12 +58,14 @@ megacostat_draw(void *pms) printf(" Type | Messages | Min RTD | Max RTD | Avg RTD | Min in Frame | Max in Frame |\n"); for (i=0; irtd[i].num) { + tmp_str = val_to_str_wmem(NULL, i, megaco_message_type, "Other (%d)"); printf("%5s | %7u | %8.2f msec | %8.2f msec | %8.2f msec | %10u | %10u |\n", - val_to_str(i, megaco_message_type, "Other"), ms->rtd[i].num, + tmp_str, ms->rtd[i].num, nstime_to_msec(&(ms->rtd[i].min)), nstime_to_msec(&(ms->rtd[i].max)), get_average(&(ms->rtd[i].tot), ms->rtd[i].num), ms->rtd[i].min_num, ms->rtd[i].max_num ); + wmem_free(NULL, tmp_str); } } printf("=====================================================================================================\n"); diff --git a/ui/cli/tap-mgcpstat.c b/ui/cli/tap-mgcpstat.c index 503d430b74..508d41d71e 100644 --- a/ui/cli/tap-mgcpstat.c +++ b/ui/cli/tap-mgcpstat.c @@ -143,6 +143,7 @@ static void mgcpstat_draw(void *pms) { mgcpstat_t *ms = (mgcpstat_t *)pms; + gchar* tmp_str; int i; /* printing results */ @@ -157,12 +158,14 @@ mgcpstat_draw(void *pms) printf("Type | Messages | Min RTD | Max RTD | Avg RTD | Min in Frame | Max in Frame |\n"); for (i=0; irtd[i].num) { + tmp_str = val_to_str_wmem(NULL, i, mgcp_mesage_type, "Other (%d)"); printf("%s | %7u | %8.2f msec | %8.2f msec | %8.2f msec | %10u | %10u |\n", - val_to_str(i, mgcp_mesage_type, "Other "), ms->rtd[i].num, + tmp_str, ms->rtd[i].num, nstime_to_msec(&(ms->rtd[i].min)), nstime_to_msec(&(ms->rtd[i].max)), get_average(&(ms->rtd[i].tot), ms->rtd[i].num), ms->rtd[i].min_num, ms->rtd[i].max_num ); + wmem_free(NULL, tmp_str); } } printf("=====================================================================================================\n"); diff --git a/ui/cli/tap-radiusstat.c b/ui/cli/tap-radiusstat.c index b892b16089..82bc89e606 100644 --- a/ui/cli/tap-radiusstat.c +++ b/ui/cli/tap-radiusstat.c @@ -159,6 +159,7 @@ static void radiusstat_draw(void *prs) { radiusstat_t *rs = (radiusstat_t *)prs; + gchar* tmp_str; int i; /* printing results */ @@ -173,12 +174,14 @@ radiusstat_draw(void *prs) printf("Type | Messages | Min RTD | Max RTD | Avg RTD | Min in Frame | Max in Frame |\n"); for (i=0; irtd[i].num) { + tmp_str = val_to_str_wmem(NULL, i, radius_message_code, "Other (%d)"); printf("%s | %7u | %8.2f msec | %8.2f msec | %8.2f msec | %10u | %10u |\n", - val_to_str(i, radius_message_code, "Other "), rs->rtd[i].num, + tmp_str, rs->rtd[i].num, nstime_to_msec(&(rs->rtd[i].min)), nstime_to_msec(&(rs->rtd[i].max)), get_average(&(rs->rtd[i].tot), rs->rtd[i].num), rs->rtd[i].min_num, rs->rtd[i].max_num ); + wmem_free(NULL, tmp_str); } } printf("===========================================================================================================\n"); diff --git a/ui/gtk/camel_counter.c b/ui/gtk/camel_counter.c index d4376ac627..f5286b6230 100644 --- a/ui/gtk/camel_counter.c +++ b/ui/gtk/camel_counter.c @@ -97,6 +97,7 @@ static void gtk_camelcounter_draw(void *phs) struct camelcounter_t *p_counter=(struct camelcounter_t *)phs; int i; char str[256]; + gchar* tmp_str; GtkListStore *store; GtkTreeIter iter; @@ -108,7 +109,9 @@ static void gtk_camelcounter_draw(void *phs) for(i=0;icamel_msg[i]!=0) { - g_snprintf(str, 256, "Request %s", val_to_str(i,camel_opr_code_strings,"Unknown message ")); + tmp_str = val_to_str_wmem(NULL, i,camel_opr_code_strings,"Unknown message (%d)"); + g_snprintf(str, 256, "Request %s", tmp_str); + wmem_free(NULL, tmp_str); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, diff --git a/ui/gtk/camel_srt.c b/ui/gtk/camel_srt.c index 7bf31814a0..fe29c080c2 100644 --- a/ui/gtk/camel_srt.c +++ b/ui/gtk/camel_srt.c @@ -135,6 +135,7 @@ static void gtk_camelsrt_init(const char *opt_arg, void *userdata _U_) GtkWidget *vbox; GtkWidget *bbox; GtkWidget *close_bt; + gchar* tmp_str; int i; if(strncmp(opt_arg,"camel,srt,",10) == 0){ @@ -175,8 +176,9 @@ static void gtk_camelsrt_init(const char *opt_arg, void *userdata _U_) init_srt_table(&p_camelsrt->camel_srt_table, NB_CAMELSRT_CATEGORY, vbox, NULL); for(i=0 ;icamel_srt_table, i, - val_to_str(i,camelSRTtype_naming,"Unknown")); + tmp_str = val_to_str_wmem(NULL,i,camelSRTtype_naming,"Unknown (%d)"); + init_srt_table_row(&p_camelsrt->camel_srt_table, i, tmp_str); + wmem_free(NULL, tmp_str); } error_string=register_tap_listener("CAMEL", diff --git a/ui/gtk/capture_if_details_dlg_win32.c b/ui/gtk/capture_if_details_dlg_win32.c index a97514d9ca..76b264646c 100644 --- a/ui/gtk/capture_if_details_dlg_win32.c +++ b/ui/gtk/capture_if_details_dlg_win32.c @@ -655,7 +655,7 @@ supported_list(LPADAPTER adapter) { unsigned char values[10000]; int length; - + gchar* tmp_str; g_warning("supported_list_unhandled"); length = sizeof(values); @@ -663,7 +663,9 @@ supported_list(LPADAPTER adapter) guint32 *value = (guint32 *)values; while (length >= 4) { - printf("OID: 0x%08X %s\n", *value, val_to_str(*value, oid_vals, "unknown")); + tmp_str = val_to_str_wmem(NULL, *value, oid_vals, "unknown (%d)"); + printf("OID: 0x%08X %s\n", *value, tmp_str); + wmem_free(NULL, tmp_str); value++; length -= 4; @@ -1009,6 +1011,7 @@ capture_if_details_802_11_bssid_list(GtkWidget *main_vb, struct ndis_bssid_list unsigned char mac[6]; const gchar *manuf_name; GString *Rates; + gchar *tmp_str; if (bssid_list->num_items != 0) { @@ -1073,16 +1076,19 @@ capture_if_details_802_11_bssid_list(GtkWidget *main_vb, struct ndis_bssid_list } /* Network Type */ - g_snprintf(nettype_buff, sizeof(nettype_buff), "%s", - val_to_str(bssid_item->net_type, win32_802_11_network_type_vals, "(0x%x)")); + tmp_str = val_to_str_wmem(NULL, bssid_item->net_type, win32_802_11_network_type_vals, "(0x%x)"); + g_snprintf(nettype_buff, sizeof(nettype_buff), "%s", tmp_str); + wmem_free(NULL, tmp_str); /* Infrastructure Mode */ - g_snprintf(infra_buff, sizeof(infra_buff), "%s", - val_to_str(bssid_item->mode, win32_802_11_infra_mode_vals, "(0x%x)")); + tmp_str = val_to_str_wmem(NULL, bssid_item->mode, win32_802_11_infra_mode_vals, "(0x%x)"); + g_snprintf(infra_buff, sizeof(infra_buff), "%s", tmp_str); + wmem_free(NULL, tmp_str); /* Channel */ - g_snprintf(freq_buff, sizeof(freq_buff), "%s", - val_to_str(bssid_item->config.ds_config, win32_802_11_channel_vals, "(%u kHz)")); + tmp_str = val_to_str_wmem(NULL, bssid_item->config.ds_config, win32_802_11_channel_vals, "(%u kHz)"); + g_snprintf(freq_buff, sizeof(freq_buff), "%s", tmp_str); + wmem_free(NULL, tmp_str); /* XXX - IE Length is currently not really supported here */ { @@ -1118,8 +1124,9 @@ capture_if_details_802_11_bssid_list(GtkWidget *main_vb, struct ndis_bssid_list len -= 2; #ifdef DEBUG_IE - g_warning("ID: %s (%u) Len: %u", - val_to_str(id, ie_id_vals, "0x%x"), id, el_len); + tmp_str = val_to_str_wmem(NULL, id, ie_id_vals, "0x%x"); + g_warning("ID: %s (%u) Len: %u", tmp_str, id, el_len); + wmem_free(NULL, tmp_str); #endif switch (id) { @@ -1228,7 +1235,7 @@ capture_if_details_802_11(GtkWidget *grid, GtkWidget *main_vb, guint *row, LPADA const gchar *manuf_name; struct ndis_bssid_list *bssid_list; struct ndis_configuration *configuration; - + gchar* tmp_str; add_string_to_grid(grid, row, "Current network", ""); @@ -1265,8 +1272,9 @@ capture_if_details_802_11(GtkWidget *grid, GtkWidget *main_vb, guint *row, LPADA /* Network type in use */ if (wpcap_packet_request_uint(adapter, OID_802_11_NETWORK_TYPE_IN_USE, &uint_value)) { - add_string_to_grid(grid, row, "Network type used", - val_to_str(uint_value, win32_802_11_network_type_vals, "(0x%x)")); + tmp_str = val_to_str_wmem(NULL, uint_value, win32_802_11_network_type_vals, "(0x%x)"); + add_string_to_grid(grid, row, "Network type used", tmp_str); + wmem_free(NULL, tmp_str); entries++; } else { add_string_to_grid(grid, row, "Network type used", "-"); @@ -1274,8 +1282,9 @@ capture_if_details_802_11(GtkWidget *grid, GtkWidget *main_vb, guint *row, LPADA /* Infrastructure mode */ if (wpcap_packet_request_ulong(adapter, OID_802_11_INFRASTRUCTURE_MODE, &uint_value)) { - add_string_to_grid(grid, row, "Infrastructure mode", - val_to_str(uint_value, win32_802_11_infra_mode_vals, "(0x%x)")); + tmp_str = val_to_str_wmem(NULL, uint_value, win32_802_11_infra_mode_vals, "(0x%x)"); + add_string_to_grid(grid, row, "Infrastructure mode", tmp_str); + wmem_free(NULL, tmp_str); entries++; } else { add_string_to_grid(grid, row, "Infrastructure mode", "-"); @@ -1283,8 +1292,9 @@ capture_if_details_802_11(GtkWidget *grid, GtkWidget *main_vb, guint *row, LPADA /* Authentication mode */ if (wpcap_packet_request_ulong(adapter, OID_802_11_AUTHENTICATION_MODE, &uint_value)) { - add_string_to_grid(grid, row, "Authentication mode", - val_to_str(uint_value, win32_802_11_auth_mode_vals, "(0x%x)")); + tmp_str = val_to_str_wmem(NULL, uint_value, win32_802_11_auth_mode_vals, "(0x%x)"); + add_string_to_grid(grid, row, "Authentication mode", tmp_str); + wmem_free(NULL, tmp_str); entries++; } else { add_string_to_grid(grid, row, "Authentication mode", "-"); @@ -1292,8 +1302,9 @@ capture_if_details_802_11(GtkWidget *grid, GtkWidget *main_vb, guint *row, LPADA /* Encryption (WEP) status */ if (wpcap_packet_request_ulong(adapter, OID_802_11_ENCRYPTION_STATUS, &uint_value)) { - add_string_to_grid(grid, row, "Encryption status", - val_to_str(uint_value, win32_802_11_encryption_status_vals, "(0x%x)")); + tmp_str = val_to_str_wmem(NULL, uint_value, win32_802_11_encryption_status_vals, "(0x%x)"); + add_string_to_grid(grid, row, "Encryption status", tmp_str); + wmem_free(NULL, tmp_str); entries++; } else { add_string_to_grid(grid, row, "Encryption status", "-"); @@ -1438,8 +1449,9 @@ capture_if_details_802_11(GtkWidget *grid, GtkWidget *main_vb, guint *row, LPADA if (wpcap_packet_request(adapter, OID_802_11_CONFIGURATION, FALSE /* !set */, (char *) values, &length)) { configuration = (struct ndis_configuration *) values; - add_string_to_grid(grid, row, "Channel", - val_to_str(configuration->ds_config, win32_802_11_channel_freq_vals, "(%u kHz)")); + tmp_str = val_to_str_wmem(NULL, configuration->ds_config, win32_802_11_channel_freq_vals, "(%u kHz)"); + add_string_to_grid(grid, row, "Channel", tmp_str); + wmem_free(NULL, tmp_str); entries++; } else { add_string_to_grid(grid, row, "Channel", "-"); @@ -1794,7 +1806,7 @@ capture_if_details_general(GtkWidget *grid, GtkWidget *main_vb, guint *row, LPAD int length; unsigned short ushort_value; int entries = 0; - gchar *size_str; + gchar *size_str, *tmp_str; /* general */ @@ -1862,8 +1874,9 @@ capture_if_details_general(GtkWidget *grid, GtkWidget *main_vb, guint *row, LPAD uint_array_size /= sizeof(unsigned int); i = 0; while (uint_array_size--) { - add_string_to_grid(grid, row, "Media supported", - val_to_str(uint_array[i], win32_802_3_medium_vals, "(0x%x)")); + tmp_str = val_to_str_wmem(NULL, uint_array[i], win32_802_3_medium_vals, "(0x%x)"); + add_string_to_grid(grid, row, "Media supported", tmp_str); + wmem_free(NULL, tmp_str); i++; } } else { @@ -1876,8 +1889,9 @@ capture_if_details_general(GtkWidget *grid, GtkWidget *main_vb, guint *row, LPAD uint_array_size /= sizeof(unsigned int); i = 0; while (uint_array_size--) { - add_string_to_grid(grid, row, "Medium in use", - val_to_str(uint_array[i], win32_802_3_medium_vals, "(0x%x)")); + tmp_str = val_to_str_wmem(NULL, uint_array[i], win32_802_3_medium_vals, "(0x%x)"); + add_string_to_grid(grid, row, "Medium in use", tmp_str); + wmem_free(NULL, tmp_str); i++; } } else { @@ -1886,8 +1900,9 @@ capture_if_details_general(GtkWidget *grid, GtkWidget *main_vb, guint *row, LPAD if (wpcap_packet_request_uint(adapter, OID_GEN_PHYSICAL_MEDIUM, &physical_medium)) { entries++; - add_string_to_grid(grid, row, "Physical medium", - val_to_str(physical_medium, win32_802_3_physical_medium_vals, "(0x%x)")); + tmp_str = val_to_str_wmem(NULL, physical_medium, win32_802_3_physical_medium_vals, "(0x%x)"); + add_string_to_grid(grid, row, "Physical medium", tmp_str); + wmem_free(NULL, tmp_str); } else { add_string_to_grid(grid, row, "Physical medium", "-"); } diff --git a/ui/gtk/fc_stat.c b/ui/gtk/fc_stat.c index 4d11fb435f..261060750a 100644 --- a/ui/gtk/fc_stat.c +++ b/ui/gtk/fc_stat.c @@ -118,6 +118,7 @@ gtk_fcstat_init(const char *opt_arg, void *userdata _U_) GtkWidget *vbox; GtkWidget *bbox; GtkWidget *close_bt; + gchar* tmp_str; if(!strncmp(opt_arg,"fc,srt,",7)){ filter=opt_arg+7; @@ -154,7 +155,9 @@ gtk_fcstat_init(const char *opt_arg, void *userdata _U_) init_srt_table(&fc->fc_srt_table, 256, vbox, NULL); for(i=0;i<256;i++){ - init_srt_table_row(&fc->fc_srt_table, i, val_to_str(i, fc_fc4_val, "Unknown(0x%02x)")); + tmp_str = val_to_str_wmem(NULL, i, fc_fc4_val, "Unknown(0x%02x)"); + init_srt_table_row(&fc->fc_srt_table, i, tmp_str); + wmem_free(NULL, tmp_str); } diff --git a/ui/gtk/h225_counter.c b/ui/gtk/h225_counter.c index b3e6dab324..15c3138763 100644 --- a/ui/gtk/h225_counter.c +++ b/ui/gtk/h225_counter.c @@ -293,6 +293,7 @@ h225counter_draw(void *phs) h225counter_t *hs=(h225counter_t *)phs; int i,j; char str[256]; + gchar* tmp_str; GtkListStore *store; GtkTreeIter iter; @@ -303,10 +304,12 @@ h225counter_draw(void *phs) for(i=0;i<=RAS_MSG_TYPES;i++) { if(hs->ras_msg[i]!=0) { - g_snprintf(str, 256, "%s", val_to_str(i,h225_RasMessage_vals,"unknown ras-messages")); + tmp_str = val_to_str_wmem(NULL,i,h225_RasMessage_vals,"unknown ras-messages (%d)"); + g_snprintf(str, 256, "%s", tmp_str); + wmem_free(NULL, tmp_str); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, - 0, val_to_str(i,h225_RasMessage_vals,"unknown ras-messages"), + 0, str, 1, hs->ras_msg[i], -1); /* reason counter */ @@ -314,8 +317,9 @@ h225counter_draw(void *phs) case 2: /* GRJ */ for(j=0;j<=GRJ_REASONS;j++) { if(hs->grj_reason[j]!=0) { - g_snprintf(str, 256," %s", - val_to_str(j,GatekeeperRejectReason_vals,"unknown reason")); + tmp_str = val_to_str_wmem(NULL,j,GatekeeperRejectReason_vals,"unknown reason (%d)"); + g_snprintf(str, 256," %s", tmp_str); + wmem_free(NULL, tmp_str); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, str, @@ -326,8 +330,9 @@ h225counter_draw(void *phs) case 5: /* RRJ */ for(j=0;j<=RRJ_REASONS;j++) { if(hs->rrj_reason[j]!=0) { - g_snprintf(str, 256," %s", - val_to_str(j,RegistrationRejectReason_vals,"unknown reason")); + tmp_str = val_to_str_wmem(NULL,j,RegistrationRejectReason_vals,"unknown reason (%d)"); + g_snprintf(str, 256," %s", tmp_str); + wmem_free(NULL, tmp_str); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, str, @@ -338,8 +343,9 @@ h225counter_draw(void *phs) case 6: /* URQ */ for(j=0;j<=URQ_REASONS;j++) { if(hs->urq_reason[j]!=0) { - g_snprintf(str, 256," %s", - val_to_str(j,UnregRequestReason_vals,"unknown reason")); + tmp_str = val_to_str_wmem(NULL,j,UnregRequestReason_vals,"unknown reason (%d)"); + g_snprintf(str, 256," %s", tmp_str); + wmem_free(NULL, tmp_str); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, str, @@ -350,8 +356,9 @@ h225counter_draw(void *phs) case 8: /* URJ */ for(j=0;j<=URJ_REASONS;j++) { if(hs->urj_reason[j]!=0) { - g_snprintf(str, 256," %s", - val_to_str(j,UnregRejectReason_vals,"unknown reason")); + tmp_str = val_to_str_wmem(NULL,j,UnregRejectReason_vals,"unknown reason (%d)"); + g_snprintf(str, 256," %s", tmp_str); + wmem_free(NULL, tmp_str); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, str, @@ -362,8 +369,9 @@ h225counter_draw(void *phs) case 11: /* ARJ */ for(j=0;j<=ARJ_REASONS;j++) { if(hs->arj_reason[j]!=0) { - g_snprintf(str, 256," %s", - val_to_str(j,AdmissionRejectReason_vals,"unknown reason")); + tmp_str = val_to_str_wmem(NULL,j,AdmissionRejectReason_vals,"unknown reason (%d)"); + g_snprintf(str, 256," %s", tmp_str); + wmem_free(NULL, tmp_str); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, str, @@ -374,8 +382,9 @@ h225counter_draw(void *phs) case 14: /* BRJ */ for(j=0;j<=BRJ_REASONS;j++) { if(hs->brj_reason[j]!=0) { - g_snprintf(str, 256," %s", - val_to_str(j,BandRejectReason_vals,"unknown reason")); + tmp_str = val_to_str_wmem(NULL,j,BandRejectReason_vals,"unknown reason (%d)"); + g_snprintf(str, 256," %s", tmp_str); + wmem_free(NULL, tmp_str); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, str, @@ -386,8 +395,9 @@ h225counter_draw(void *phs) case 15: /* DRQ */ for(j=0;j<=DRQ_REASONS;j++) { if(hs->drq_reason[j]!=0) { - g_snprintf(str, 256," %s", - val_to_str(j,DisengageReason_vals,"unknown reason")); + tmp_str = val_to_str_wmem(NULL,j,DisengageReason_vals,"unknown reason (%d)"); + g_snprintf(str, 256," %s", tmp_str); + wmem_free(NULL, tmp_str); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, str, @@ -398,8 +408,9 @@ h225counter_draw(void *phs) case 17: /* DRJ */ for(j=0;j<=DRJ_REASONS;j++) { if(hs->drj_reason[j]!=0) { - g_snprintf(str, 256," %s", - val_to_str(j,DisengageRejectReason_vals,"unknown reason")); + tmp_str = val_to_str_wmem(NULL,j,DisengageRejectReason_vals,"unknown reason (%d)"); + g_snprintf(str, 256," %s", tmp_str); + wmem_free(NULL, tmp_str); gtk_list_store_set(store, &iter, 0, str, 1, hs->drj_reason[j], -1); @@ -409,8 +420,9 @@ h225counter_draw(void *phs) case 20: /* LRJ */ for(j=0;j<=LRJ_REASONS;j++) { if(hs->lrj_reason[j]!=0) { - g_snprintf(str, 256," %s", - val_to_str(j,LocationRejectReason_vals,"unknown reason")); + tmp_str = val_to_str_wmem(NULL,j,LocationRejectReason_vals,"unknown reason (%d)"); + g_snprintf(str, 256," %s", tmp_str); + wmem_free(NULL, tmp_str); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, str, @@ -421,8 +433,9 @@ h225counter_draw(void *phs) case 29: /* IRQNak */ for(j=0;j<=IRQNAK_REASONS;j++) { if(hs->irqnak_reason[j]!=0) { - g_snprintf(str, 256," %s", - val_to_str(j,InfoRequestNakReason_vals,"unknown reason")); + tmp_str = val_to_str_wmem(NULL,j,InfoRequestNakReason_vals,"unknown reason (%d)"); + g_snprintf(str, 256," %s", tmp_str); + wmem_free(NULL, tmp_str); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, str, @@ -439,18 +452,21 @@ h225counter_draw(void *phs) for(i=0;i<=CS_MSG_TYPES;i++) { if(hs->cs_msg[i]!=0) { + tmp_str = val_to_str_wmem(NULL,i,T_h323_message_body_vals,"unknown cs-messages"); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, - 0, val_to_str(i,T_h323_message_body_vals,"unknown cs-messages"), + 0, tmp_str, 1, hs->cs_msg[i], -1); + wmem_free(NULL, tmp_str); /* reason counter */ switch(i) { case 5: /* ReleaseComplete */ for(j=0;j<=REL_CMP_REASONS;j++) { if(hs->rel_cmp_reason[j]!=0) { - g_snprintf(str, 256," %s", - val_to_str(j,h225_ReleaseCompleteReason_vals,"unknown reason")); + tmp_str = val_to_str_wmem(NULL,j,h225_ReleaseCompleteReason_vals,"unknown reason (%d)"); + g_snprintf(str, 256," %s", tmp_str); + wmem_free(NULL, tmp_str); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, str, @@ -461,8 +477,9 @@ h225counter_draw(void *phs) case 6: /* Facility */ for(j=0;j<=FACILITY_REASONS;j++) { if(hs->facility_reason[j]!=0) { - g_snprintf(str, 256," %s", - val_to_str(j,FacilityReason_vals,"unknown reason")); + tmp_str = val_to_str_wmem(NULL,j,FacilityReason_vals,"unknown reason (%d)"); + g_snprintf(str, 256," %s", tmp_str); + wmem_free(NULL, tmp_str); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, str, diff --git a/ui/gtk/h225_ras_srt.c b/ui/gtk/h225_ras_srt.c index 50bfc072aa..12a6ff6148 100644 --- a/ui/gtk/h225_ras_srt.c +++ b/ui/gtk/h225_ras_srt.c @@ -198,6 +198,7 @@ h225rassrt_draw(void *phs) h225rassrt_t *hs=(h225rassrt_t *)phs; int i; char str[3][256]; + gchar* tmp_str; GtkListStore *store; GtkTreeIter iter; @@ -217,10 +218,11 @@ h225rassrt_draw(void *phs) "%8.2f msec", nstime_to_msec(&(hs->ras_rtd[i].stats.max))); g_snprintf(str[2], sizeof(char[256]), "%8.2f msec", get_average(&(hs->ras_rtd[i].stats.tot), hs->ras_rtd[i].stats.num)); + tmp_str = val_to_str_wmem(NULL,i,ras_message_category,"Other (%d)"); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, - 0, val_to_str(i,ras_message_category,"Other"), + 0, tmp_str, 1, hs->ras_rtd[i].stats.num, 2, str[0], 3, str[1], @@ -232,6 +234,7 @@ h225rassrt_draw(void *phs) 9, hs->ras_rtd[i].req_dup_num, 10, hs->ras_rtd[i].rsp_dup_num, -1); + wmem_free(NULL, tmp_str); } } diff --git a/ui/gtk/megaco_stat.c b/ui/gtk/megaco_stat.c index 939e8d11f3..ba5d644023 100644 --- a/ui/gtk/megaco_stat.c +++ b/ui/gtk/megaco_stat.c @@ -78,6 +78,7 @@ megacostat_draw(void *pms) megacostat_t *ms=(megacostat_t *)pms; int i; char str[3][256]; + gchar* tmp_str; GtkListStore *store; GtkTreeIter iter; @@ -94,9 +95,10 @@ megacostat_draw(void *pms) g_snprintf(str[0], sizeof(char[256]), "%8.2f msec", nstime_to_msec(&(ms->rtd[i].min))); g_snprintf(str[1], sizeof(char[256]), "%8.2f msec", nstime_to_msec(&(ms->rtd[i].max))); g_snprintf(str[2], sizeof(char[256]), "%8.2f msec", get_average(&(ms->rtd[i].tot), ms->rtd[i].num)); + tmp_str = val_to_str_wmem(NULL,i,megaco_message_type,"Other (%d)"); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, - 0, val_to_str(i,megaco_message_type,"Other"), + 0, tmp_str, 1, ms->rtd[i].num, 2, str[0], 3, str[1], @@ -104,6 +106,7 @@ megacostat_draw(void *pms) 5, ms->rtd[i].min_num, 6, ms->rtd[i].max_num, -1); + wmem_free(NULL, tmp_str); } } diff --git a/ui/gtk/mgcp_stat.c b/ui/gtk/mgcp_stat.c index b2a312e265..8ad8ce0074 100644 --- a/ui/gtk/mgcp_stat.c +++ b/ui/gtk/mgcp_stat.c @@ -179,6 +179,7 @@ mgcpstat_draw(void *pms) mgcpstat_t *ms=(mgcpstat_t *)pms; int i; char str[3][256]; + gchar* tmp_str; GtkListStore *store; GtkTreeIter iter; @@ -195,9 +196,11 @@ mgcpstat_draw(void *pms) g_snprintf(str[0], sizeof(char[256]), "%8.2f msec", nstime_to_msec(&(ms->rtd[i].min))); g_snprintf(str[1], sizeof(char[256]), "%8.2f msec", nstime_to_msec(&(ms->rtd[i].max))); g_snprintf(str[2], sizeof(char[256]), "%8.2f msec", get_average(&(ms->rtd[i].tot), ms->rtd[i].num)); + tmp_str = val_to_str_wmem(NULL,i,mgcp_mesage_type,"Other (%d)"); + gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, - 0, val_to_str(i, mgcp_mesage_type,"Other"), + 0, tmp_str, 1, ms->rtd[i].num, 2, str[0], 3, str[1], @@ -205,6 +208,7 @@ mgcpstat_draw(void *pms) 5, ms->rtd[i].min_num, 6, ms->rtd[i].max_num, -1); + wmem_free(NULL, tmp_str); } } diff --git a/ui/gtk/ncp_stat.c b/ui/gtk/ncp_stat.c index af7adf8379..360848c5b5 100644 --- a/ui/gtk/ncp_stat.c +++ b/ui/gtk/ncp_stat.c @@ -298,13 +298,16 @@ ncpstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const voi { ncpstat_t *ss=(ncpstat_t *)pss; const ncp_req_hash_value *request_val=(const ncp_req_hash_value *)prv; + gchar* tmp_str; /* if we haven't seen the request, just ignore it */ if(!request_val || request_val->ncp_rec==0){ return 0; } /* By Group */ - init_srt_table_row(&ss->ncp_srt_table, request_val->ncp_rec->group, val_to_str(request_val->ncp_rec->group, ncp_group_vals, "Unknown(%u)")); + tmp_str = val_to_str_wmem(NULL, request_val->ncp_rec->group, ncp_group_vals, "Unknown(%u)"); + init_srt_table_row(&ss->ncp_srt_table, request_val->ncp_rec->group, tmp_str); + wmem_free(NULL, tmp_str); add_srt_table_data(&ss->ncp_srt_table, request_val->ncp_rec->group, &request_val->req_frame_time, pinfo); /* By NCP number without subfunction*/ if (request_val->ncp_rec->subfunc==0) { @@ -392,15 +395,21 @@ ncpstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const voi } /* By NDS verb */ if (request_val->ncp_rec->func==0x68) { - init_srt_table_row(&ss->nds_srt_table, (request_val->nds_request_verb), val_to_str(request_val->nds_request_verb, ncp_nds_verb_vals, "Unknown(%u)")); + tmp_str = val_to_str_wmem(NULL, request_val->nds_request_verb, ncp_nds_verb_vals, "Unknown(%u)"); + init_srt_table_row(&ss->nds_srt_table, (request_val->nds_request_verb), tmp_str); + wmem_free(NULL, tmp_str); add_srt_table_data(&ss->nds_srt_table, (request_val->nds_request_verb), &request_val->req_frame_time, pinfo); } if (request_val->ncp_rec->func==0x5c) { - init_srt_table_row(&ss->sss_srt_table, (request_val->req_nds_flags), val_to_str(request_val->req_nds_flags, sss_verb_enum, "Unknown(%u)")); + tmp_str = val_to_str_wmem(NULL, request_val->req_nds_flags, sss_verb_enum, "Unknown(%u)"); + init_srt_table_row(&ss->sss_srt_table, (request_val->req_nds_flags), tmp_str); + wmem_free(NULL, tmp_str); add_srt_table_data(&ss->sss_srt_table, (request_val->req_nds_flags), &request_val->req_frame_time, pinfo); } if (request_val->ncp_rec->func==0x5e) { - init_srt_table_row(&ss->nmas_srt_table, (request_val->req_nds_flags), val_to_str(request_val->req_nds_flags, nmas_subverb_enum, "Unknown(%u)")); + tmp_str = val_to_str_wmem(NULL, request_val->req_nds_flags, nmas_subverb_enum, "Unknown(%u)"); + init_srt_table_row(&ss->nmas_srt_table, (request_val->req_nds_flags), tmp_str); + wmem_free(NULL, tmp_str); add_srt_table_data(&ss->nmas_srt_table, (request_val->req_nds_flags), &request_val->req_frame_time, pinfo); } return 1; diff --git a/ui/gtk/radius_stat.c b/ui/gtk/radius_stat.c index cf93f01379..3909929c2c 100644 --- a/ui/gtk/radius_stat.c +++ b/ui/gtk/radius_stat.c @@ -237,6 +237,7 @@ radiusstat_draw(void *prs) radiusstat_t *rs=(radiusstat_t *)prs; int i; char str[5][256]; + gchar* tmp_str; GtkListStore *store; GtkTreeIter iter; @@ -256,10 +257,11 @@ radiusstat_draw(void *prs) rs->radius_rtd[i].stats.num?((double)rs->radius_rtd[i].req_dup_num*100)/(double)rs->radius_rtd[i].stats.num:0); g_snprintf(str[4], 256, "%4u (%4.2f%%)", rs->radius_rtd[i].rsp_dup_num, rs->radius_rtd[i].stats.num?((double)rs->radius_rtd[i].rsp_dup_num*100)/(double)rs->radius_rtd[i].stats.num:0); + tmp_str = val_to_str_wmem(NULL,i,radius_message_code,"Other (%d)"); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, - 0, val_to_str(i, radius_message_code,"Other"), + 0, tmp_str, 1, rs->radius_rtd[i].stats.num, 2, str[0], 3, str[1], @@ -271,6 +273,7 @@ radiusstat_draw(void *prs) 9, str[3], 10, str[4], -1); + wmem_free(NULL, tmp_str); } } diff --git a/ui/tap-sctp-analysis.c b/ui/tap-sctp-analysis.c index 0cc73a8afe..8376ec89b3 100644 --- a/ui/tap-sctp-analysis.c +++ b/ui/tap-sctp-analysis.c @@ -739,14 +739,25 @@ packet(void *tapdata _U_, packet_info *pinfo , epan_dissect_t *edt _U_ , const v } else { + gchar* tmp_str; error = (sctp_error_info_t *)g_malloc(sizeof(sctp_error_info_t)); error->frame_number = pinfo->fd->num; error->chunk_info[0] = '\0'; if ((tvb_get_guint8(sctp_info->tvb[0],0)) == SCTP_INIT_CHUNK_ID) - g_strlcpy(error->chunk_info, val_to_str(tvb_get_guint8(sctp_info->tvb[0],0),chunk_type_values,"Reserved"), 200); + { + tmp_str = val_to_str_wmem(NULL, tvb_get_guint8(sctp_info->tvb[0],0),chunk_type_values,"Reserved (%d)"); + g_strlcpy(error->chunk_info, tmp_str, 200); + wmem_free(NULL, tmp_str); + } else + { for (chunk_number = 0; chunk_number < sctp_info->number_of_tvbs; chunk_number++) - g_strlcat(error->chunk_info, val_to_str(tvb_get_guint8(sctp_info->tvb[chunk_number],0),chunk_type_values,"Reserved"), 200); + { + tmp_str = val_to_str_wmem(NULL, tvb_get_guint8(sctp_info->tvb[chunk_number],0),chunk_type_values,"Reserved (%d)"); + g_strlcat(error->chunk_info, tmp_str, 200); + wmem_free(NULL, tmp_str); + } + } error->info_text = "INFOS"; info->error_info_list = g_list_append(info->error_info_list, error); } diff --git a/ui/voip_calls.c b/ui/voip_calls.c index 195cc245fc..b4bb6d3669 100644 --- a/ui/voip_calls.c +++ b/ui/voip_calls.c @@ -853,6 +853,7 @@ t38_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const gchar *frame_label = NULL; gchar *comment = NULL; seq_analysis_item_t *tmp_gai, *gai = NULL; + gchar *tmp_str1, *tmp_str2; guint16 line_style = 2; double duration; int conv_num = -1; @@ -928,11 +929,12 @@ t38_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, const /* add the item to the graph list */ if (t38_info->type_msg == 0) { /* 0=t30-indicator */ - frame_label = g_strdup(val_to_str(t38_info->t30ind_value, t38_T30_indicator_vals, "Ukn (0x%02X)") ); - comment = g_strdup_printf("t38:t30 Ind:%s",val_to_str(t38_info->t30ind_value, t38_T30_indicator_vals, "Ukn (0x%02X)") ); + tmp_str1 = val_to_str_wmem(NULL, t38_info->t30ind_value, t38_T30_indicator_vals, "Ukn (0x%02X)"); + frame_label = g_strdup(tmp_str1); + comment = g_strdup_printf("t38:t30 Ind:%s", tmp_str1); + wmem_free(NULL, tmp_str1); line_style = 1; } else if (t38_info->type_msg == 1) { /* 1=data */ - gchar *tmp_str1, *tmp_str2; switch(t38_info->Data_Field_field_type_value) { case 0: /* hdlc-data */ break; @@ -1518,7 +1520,7 @@ q931_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, voip_calls_info_t *tmp_listinfo; voip_calls_info_t *callsinfo = NULL; h245_address_t *h245_add = NULL; - gchar *comment; + gchar *comment, *tmp_str; const q931_packet_info *pi = (const q931_packet_info *)q931_info; @@ -1751,10 +1753,12 @@ q931_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt, if (!comment) comment = g_strdup_printf("AC_ISDN trunk:%u", tapinfo->actrace_trunk ); - add_to_graph(tapinfo, pinfo, edt, val_to_str(pi->message_type, q931_message_type_vals, "") , comment, callsinfo->call_num, + tmp_str = val_to_str_wmem(NULL, pi->message_type, q931_message_type_vals, ""); + add_to_graph(tapinfo, pinfo, edt, tmp_str, comment, callsinfo->call_num, tapinfo->actrace_direction?&pstn_add:&(pinfo->src), tapinfo->actrace_direction?&(pinfo->src):&pstn_add, 1 ); + wmem_free(NULL, tmp_str); g_free(comment); g_free((char *)pstn_add.data); @@ -2936,7 +2940,7 @@ sccp_calls(voip_calls_tapinfo_t *tapinfo, packet_info *pinfo, epan_dissect_t *ed sccp_assoc_info_t* assoc = msg->data.co.assoc; GList *list; voip_calls_info_t *callsinfo = NULL; - const gchar *label = NULL; + gchar *label = NULL; const gchar *comment = NULL; /* check whether we already have this assoc in the list */ @@ -3013,9 +3017,9 @@ sccp_calls(voip_calls_tapinfo_t *tapinfo, packet_info *pinfo, epan_dissect_t *ed } if (msg->data.co.label) { - label = msg->data.co.label; + label = wmem_strdup(NULL, msg->data.co.label); } else { - label = val_to_str(msg->type, sccp_payload_values, "Unknown(%d)"); + label = val_to_str_wmem(NULL, msg->type, sccp_payload_values, "Unknown(%d)"); } if (msg->data.co.comment) { @@ -3025,6 +3029,7 @@ sccp_calls(voip_calls_tapinfo_t *tapinfo, packet_info *pinfo, epan_dissect_t *ed } add_to_graph(tapinfo, pinfo, edt, label, comment, callsinfo->call_num, &(pinfo->src), &(pinfo->dst), 1); + wmem_free(NULL, label); ++(tapinfo->npackets); -- cgit v1.2.3