diff options
author | Michael Mann <mmann78@netscape.net> | 2012-08-10 02:05:19 +0000 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2012-08-10 02:05:19 +0000 |
commit | 1d9c472cae6d080cbee2b49f394a6b224772ccbf (patch) | |
tree | 27006bf9c02a0cc28a68d3cf2438b584662b7363 | |
parent | 94b65da5472e5a812d04a61ee6f0b5c35a0b4d3c (diff) |
convert some simple uses to use ephemeral memory
svn path=/trunk/; revision=44413
-rw-r--r-- | epan/dissectors/packet-aastra-aasp.c | 24 | ||||
-rw-r--r-- | epan/dissectors/packet-bjnp.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-csm-encaps.c | 5 | ||||
-rw-r--r-- | epan/dissectors/packet-elcom.c | 8 | ||||
-rw-r--r-- | epan/dissectors/packet-glusterfs.c | 7 | ||||
-rw-r--r-- | epan/dissectors/packet-gopher.c | 3 | ||||
-rw-r--r-- | epan/dissectors/packet-iax2.c | 3 | ||||
-rw-r--r-- | epan/dissectors/packet-ieee80211.c | 3 | ||||
-rw-r--r-- | epan/dissectors/packet-mbtcp.c | 11 | ||||
-rw-r--r-- | epan/dissectors/packet-meta.c | 20 | ||||
-rw-r--r-- | epan/dissectors/packet-mmse.c | 5 | ||||
-rw-r--r-- | epan/dissectors/packet-mux27010.c | 3 | ||||
-rw-r--r-- | epan/dissectors/packet-ospf.c | 11 | ||||
-rw-r--r-- | epan/dissectors/packet-rpcap.c | 3 | ||||
-rw-r--r-- | epan/dissectors/packet-tds.c | 3 |
15 files changed, 34 insertions, 79 deletions
diff --git a/epan/dissectors/packet-aastra-aasp.c b/epan/dissectors/packet-aastra-aasp.c index 3fa310841d..e927e74be2 100644 --- a/epan/dissectors/packet-aastra-aasp.c +++ b/epan/dissectors/packet-aastra-aasp.c @@ -217,11 +217,10 @@ dissect_a_binary_command(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree proto_tree_add_item(subtree, hf_a_length, tvb, 4, 1, ENC_NA); proto_tree_add_item(subtree, hf_a_text, tvb, 5, -1, ENC_ASCII|ENC_NA); - pstr = tvb_get_string(tvb, 5, tvb_get_guint8(tvb, 4)); + pstr = tvb_get_ephemeral_string(tvb, 5, tvb_get_guint8(tvb, 4)); if(pstr) { proto_item_append_text(ti, ": '%s'", pstr); - g_free(pstr); } } else @@ -284,12 +283,10 @@ dissect_a_binary_command(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree ti = proto_tree_add_item(subtree, hf_a_item, tvb, i, len+2, ENC_NA); infotree = proto_item_add_subtree(ti, ett_a_item); proto_tree_add_item(infotree, hf_a_weekday, tvb, i+2, len, ENC_ASCII|ENC_NA); - pstr = tvb_get_string(tvb, i+2, len); + pstr = tvb_get_ephemeral_string(tvb, i+2, len); if(pstr) - { proto_item_append_text(ti, ", Weekday: '%s'", pstr); - g_free(pstr); - } + i += len +2; break; } @@ -299,12 +296,9 @@ dissect_a_binary_command(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree ti = proto_tree_add_item(subtree, hf_a_item, tvb, i, len+2, ENC_NA); infotree = proto_item_add_subtree(ti, ett_a_item); proto_tree_add_item(infotree, hf_a_month_name, tvb, i+2, len, ENC_ASCII|ENC_NA); - pstr = tvb_get_string(tvb, i+2, len); + pstr = tvb_get_ephemeral_string(tvb, i+2, len); if(pstr) - { proto_item_append_text(ti, ", Month name: '%s'", pstr); - g_free(pstr); - } i += len +2; break; } @@ -314,12 +308,9 @@ dissect_a_binary_command(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree ti = proto_tree_add_item(subtree, hf_a_item, tvb, i, len+2, ENC_NA); infotree = proto_item_add_subtree(ti, ett_a_item); proto_tree_add_item(infotree, hf_a_weekofyear_prefix, tvb, i+2, len, ENC_ASCII|ENC_NA); - pstr = tvb_get_string(tvb, i+2, len); + pstr = tvb_get_ephemeral_string(tvb, i+2, len); if(pstr) - { proto_item_append_text(ti, ", Week of the year prefix: '%s'", pstr); - g_free(pstr); - } i += len +2; break; } @@ -364,12 +355,9 @@ dissect_a_binary_command(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree proto_tree_add_item(subtree, hf_a_length, tvb, 2, 1, ENC_NA); proto_tree_add_item(subtree, hf_a_cdpn, tvb, 3, -1, ENC_ASCII|ENC_NA); - pstr = tvb_get_string(tvb, 3, tvb_get_guint8(tvb, 2)); + pstr = tvb_get_ephemeral_string(tvb, 3, tvb_get_guint8(tvb, 2)); if(pstr) - { proto_item_append_text(ti, ": '%s'", pstr); - g_free(pstr); - } } else proto_item_append_text(ti, ": ???"); diff --git a/epan/dissectors/packet-bjnp.c b/epan/dissectors/packet-bjnp.c index 5baaaeac1c..77a24df83c 100644 --- a/epan/dissectors/packet-bjnp.c +++ b/epan/dissectors/packet-bjnp.c @@ -111,14 +111,12 @@ static int dissect_bjnp (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) proto_tree_add_item (bjnp_tree, hf_cmd_code, tvb, offset, 1, ENC_BIG_ENDIAN); offset++; - info = g_strdup_printf ("%s: %s",val_to_str (dev_type, dev_type_vals, "Unknown type (%d)"), + info = ep_strdup_printf("%s: %s",val_to_str (dev_type, dev_type_vals, "Unknown type (%d)"), val_to_str (cmd_code, cmd_code_vals, "Unknown code (%d)")); proto_item_append_text (ti, ", %s", info); col_add_str (pinfo->cinfo, COL_INFO, info); - g_free (info); - proto_tree_add_item (bjnp_tree, hf_seq_no, tvb, offset, 4, ENC_BIG_ENDIAN); offset += 4; diff --git a/epan/dissectors/packet-csm-encaps.c b/epan/dissectors/packet-csm-encaps.c index fc3ff2d1ea..092d06e052 100644 --- a/epan/dissectors/packet-csm-encaps.c +++ b/epan/dissectors/packet-csm-encaps.c @@ -161,10 +161,10 @@ static gchar * csm_fc(guint16 fc, guint16 ct) { if (fc == 0x0000) { - return g_strdup(val_to_str(ct, class_type_vals, + return ep_strdup(val_to_str(ct, class_type_vals, "0x%04x")); } else { - return g_strdup(val_to_str(fc, function_code_vals, + return ep_strdup(val_to_str(fc, function_code_vals, "0x%04x")); } } @@ -257,7 +257,6 @@ dissect_csm_encaps(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) col_append_fstr(pinfo->cinfo, COL_INFO, "--> %-35s Ch: 0x%04X, Seq: %2d (From Host)", str_function_name, channel, sequence); - g_free(str_function_name); } diff --git a/epan/dissectors/packet-elcom.c b/epan/dissectors/packet-elcom.c index b69f6bb3e7..e93acd4c03 100644 --- a/epan/dissectors/packet-elcom.c +++ b/epan/dissectors/packet-elcom.c @@ -217,19 +217,16 @@ dissect_lower_address(proto_item *ti_arg, gint ett_arg, offset += 8; /* skip the zero bytes */ /* SUFFIX */ - suffix = tvb_get_string(tvb, offset+1, len2); + suffix = tvb_get_ephemeral_string(tvb, offset+1, len2); ti = proto_tree_add_item(tree, hf_suff, tvb, offset, 1, ENC_ASCII|ENC_LITTLE_ENDIAN); offset += len2+1; if (!(suffix[0] == 'A' || suffix[0] == 'B')) { - g_free(suffix); proto_item_append_text(ti, " (invalid)"); return offset; } proto_item_append_text(ti, " (%s)", val_to_str(suffix[1], suffix_vals, "<<-- WHAT?") ); - - g_free(suffix); return offset; } @@ -452,9 +449,8 @@ dissect_elcom(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (tvb_get_guint8(tvb, 3+1+TOTAL_LEN+LOWADR_LEN) != SUFFIX_LEN) return; /* finally believe that there is valid suffix */ - suffix = tvb_get_string(tvb, 3+2+LOWADR_LEN, 2); + suffix = tvb_get_ephemeral_string(tvb, 3+2+LOWADR_LEN, 2); col_append_fstr(pinfo->cinfo, COL_INFO, " %s Connect", suffix); - g_free(suffix); break; case P_RELRQ: diff --git a/epan/dissectors/packet-glusterfs.c b/epan/dissectors/packet-glusterfs.c index 608bd7ae06..e1fc53e7b6 100644 --- a/epan/dissectors/packet-glusterfs.c +++ b/epan/dissectors/packet-glusterfs.c @@ -517,13 +517,13 @@ gluster_rpc_dissect_dict(proto_tree *tree, tvbuff_t *tvb, int hfindex, int offse offset += 4; /* read the key, '\0' terminated */ - key = tvb_get_stringz(tvb, offset, &key_len); + key = tvb_get_ephemeral_stringz(tvb, offset, &key_len); if (tree) dict_item = proto_tree_add_text(subtree, tvb, offset, -1, "%s: ", key); offset += key_len; /* read the value, possibly '\0' terminated */ - value = tvb_get_string(tvb, offset, value_len); + value = tvb_get_ephemeral_string(tvb, offset, value_len); if (tree) { /* keys named "gfid-req" contain a GFID in hex */ if (value_len == 16 && !strncmp("gfid-req", key, 8)) { @@ -534,9 +534,6 @@ gluster_rpc_dissect_dict(proto_tree *tree, tvbuff_t *tvb, int hfindex, int offse proto_item_append_text(dict_item, "%s", value); } offset += value_len; - - g_free(key); - g_free(value); } if (roundup) { diff --git a/epan/dissectors/packet-gopher.c b/epan/dissectors/packet-gopher.c index b9df44ba98..6d3c0058ef 100644 --- a/epan/dissectors/packet-gopher.c +++ b/epan/dissectors/packet-gopher.c @@ -174,10 +174,9 @@ dissect_gopher(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { col_append_fstr(pinfo->cinfo, COL_INFO, ": [Directory list]"); } - name = tvb_get_string(tvb, offset + 1, sel_start - offset - 2); + name = tvb_get_ephemeral_string(tvb, offset + 1, sel_start - offset - 2); ti = proto_tree_add_string(gopher_tree, hf_gopher_dir_item, tvb, offset, line_len + 1, name); - g_free(name); dir_tree = proto_item_add_subtree(ti, ett_dir_item); proto_tree_add_item(dir_tree, hf_gopher_di_type, tvb, offset, 1, ENC_BIG_ENDIAN); proto_tree_add_item(dir_tree, hf_gopher_di_name, tvb, offset + 1, diff --git a/epan/dissectors/packet-iax2.c b/epan/dissectors/packet-iax2.c index 014750a1e6..09d5f95e94 100644 --- a/epan/dissectors/packet-iax2.c +++ b/epan/dissectors/packet-iax2.c @@ -1420,11 +1420,10 @@ static guint32 dissect_ies (tvbuff_t * tvb, guint32 offset, ie_finfo->rep->representation); else { guint8 *ie_val = NULL; - ie_val = g_malloc(ITEM_LABEL_LENGTH); + ie_val = ep_alloc(ITEM_LABEL_LENGTH); proto_item_fill_label(ie_finfo, ie_val); proto_item_set_text(ti, "Information Element: %s", ie_val); - g_free(ie_val); } } } diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c index 509aeb64b6..dba31020d2 100644 --- a/epan/dissectors/packet-ieee80211.c +++ b/epan/dissectors/packet-ieee80211.c @@ -3745,10 +3745,9 @@ dissect_nai_realm_list(proto_tree *tree, tvbuff_t *tvb, int offset, int end) } proto_tree_add_item(realm_tree, hf_ieee80211_ff_anqp_nai_realm, tvb, offset, nai_len, ENC_ASCII|ENC_NA); - realm = tvb_get_string(tvb, offset, nai_len); + realm = tvb_get_ephemeral_string(tvb, offset, nai_len); if (realm) { proto_item_append_text(r_item, " (%s)", realm); - g_free(realm); } offset += nai_len; eap_count = tvb_get_guint8(tvb, offset); diff --git a/epan/dissectors/packet-mbtcp.c b/epan/dissectors/packet-mbtcp.c index 7316ffa4bd..67c820c5f0 100644 --- a/epan/dissectors/packet-mbtcp.c +++ b/epan/dissectors/packet-mbtcp.c @@ -460,7 +460,6 @@ dissect_modbus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) guint32 group_byte_cnt, group_word_cnt; guint8 function_code, exception_code, mei_code, event_code, object_type; guint16 diagnostic_code; - guint8 *object_str; /* Don't need to do anything if there's no tree */ if (tree == NULL) @@ -960,17 +959,15 @@ dissect_modbus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (object_type < 7) { - object_str = tvb_get_string(tvb, payload_start+6+object_index, object_len); - proto_tree_add_string(device_objects_item_tree, hf_modbus_object_str_value, tvb, payload_start+6+object_index, object_len, object_str); - g_free(object_str); - } + proto_tree_add_item(device_objects_item_tree, hf_modbus_object_str_value, tvb, payload_start+6+object_index, object_len, ENC_ASCII|ENC_NA); + } else { if (object_len > 0) proto_tree_add_text(device_objects_item_tree, tvb, payload_start+6+object_index, object_len, "Object Value"); - } + } object_index += object_len; - } + } break; case CANOPEN_REQ_RESP: diff --git a/epan/dissectors/packet-meta.c b/epan/dissectors/packet-meta.c index 177bad5a48..38bc7c2a90 100644 --- a/epan/dissectors/packet-meta.c +++ b/epan/dissectors/packet-meta.c @@ -317,7 +317,7 @@ static guint16 evaluate_meta_item_dxt(proto_tree *meta_tree, tvbuff_t *tvb, pack proto_tree *item_tree; proto_item *subti; /* field values */ - guint8 dir, nsapi, rat, aal5proto, *apn, *calling, *called; + guint8 dir, nsapi, rat, aal5proto; guint16 phylinkid, localdevid, remotedevid, tapgroupid; guint32 tlli; guint64 ts, imsi, imei, cell; @@ -372,10 +372,8 @@ static guint16 evaluate_meta_item_dxt(proto_tree *meta_tree, tvbuff_t *tvb, pack tvb, offs, 8, imei); break; case META_ID_APN: - apn = tvb_get_string(tvb, offs, len); - proto_tree_add_string(meta_tree, hf_meta_item_apn, tvb, - offs, len, apn); - g_free(apn); + proto_tree_add_item(meta_tree, hf_meta_item_apn, tvb, + offs, len, ENC_ASCII|ENC_NA); break; case META_ID_RAT: rat = tvb_get_guint8(tvb, offs); @@ -456,16 +454,12 @@ static guint16 evaluate_meta_item_dxt(proto_tree *meta_tree, tvbuff_t *tvb, pack offs, 4, tlli); break; case META_ID_CALLING: - calling = tvb_get_string(tvb, offs, len); - proto_tree_add_string(meta_tree, hf_meta_item_calling, tvb, - offs, len, calling); - g_free(calling); + proto_tree_add_item(meta_tree, hf_meta_item_calling, tvb, + offs, len, ENC_ASCII|ENC_NA); break; case META_ID_CALLED: - called = tvb_get_string(tvb, offs, len); - proto_tree_add_string(meta_tree, hf_meta_item_called, tvb, - offs, len, called); - g_free(called); + proto_tree_add_item(meta_tree, hf_meta_item_called, tvb, + offs, len, ENC_ASCII|ENC_NA); break; default: subti = proto_tree_add_item(meta_tree, hf_meta_item, tvb, offs - 4, diff --git a/epan/dissectors/packet-mmse.c b/epan/dissectors/packet-mmse.c index 62555e8398..36834b36ad 100644 --- a/epan/dissectors/packet-mmse.c +++ b/epan/dissectors/packet-mmse.c @@ -770,12 +770,11 @@ dissect_mmse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint8 pdut, major = (version & 0x70) >> 4; minor = version & 0x0F; if (minor == 0x0F) - vers_string = g_strdup_printf("%u", major); + vers_string = ep_strdup_printf("%u", major); else - vers_string = g_strdup_printf("%u.%u", major, minor); + vers_string = ep_strdup_printf("%u.%u", major, minor); proto_tree_add_string(mmse_tree, hf_mmse_mms_version, tvb, offset - 2, 2, vers_string); - g_free(vers_string); } break; case MM_BCC_HDR: /* Encoded-string-value */ diff --git a/epan/dissectors/packet-mux27010.c b/epan/dissectors/packet-mux27010.c index 692c661ee6..08b15d276b 100644 --- a/epan/dissectors/packet-mux27010.c +++ b/epan/dissectors/packet-mux27010.c @@ -800,7 +800,7 @@ getFrameInformation(tvbuff_t *tvb, proto_tree *field_tree){ char *information_field, *save_information_field_ptr; /*Get the data from information field as string*/ - information_field = tvb_get_string(tvb,offset,length_info); + information_field = tvb_get_ephemeral_string(tvb,offset,length_info); save_information_field_ptr = information_field; tmp = 0; @@ -831,7 +831,6 @@ getFrameInformation(tvbuff_t *tvb, proto_tree *field_tree){ /*Add info to subtree*/ proto_tree_add_uint_format(field_tree, hf_mux27010_information, tvb, offset, length_info, controlchannel_type_command, "Information: %s",information_field); - g_free(information_field); /*Increment offset by the length of chars in info field*/ offset +=length_info; diff --git a/epan/dissectors/packet-ospf.c b/epan/dissectors/packet-ospf.c index 000309deb1..78bd70ecb9 100644 --- a/epan/dissectors/packet-ospf.c +++ b/epan/dissectors/packet-ospf.c @@ -2403,9 +2403,6 @@ dissect_ospf_lsa_opaque_ri(tvbuff_t *tvb, int offset, proto_tree *tree, proto_tree *ri_tree; proto_tree *tlv_tree; - guint8 *hostname_str; - guint8 *unknown_str; - int tlv_type; int tlv_length; @@ -2443,9 +2440,7 @@ dissect_ospf_lsa_opaque_ri(tvbuff_t *tvb, int offset, proto_tree *tree, proto_tree_add_text(tlv_tree, tvb, offset + 2, 2, "TLV Length: %u", tlv_length); - hostname_str = tvb_get_string(tvb, offset+4, tlv_length); - proto_tree_add_string(tlv_tree, hf_ospf_filter[OSPFF_DYN_HOSTNAME], tvb, offset+4, tlv_length, hostname_str); - g_free(hostname_str); + proto_tree_add_item(tlv_tree, hf_ospf_filter[OSPFF_DYN_HOSTNAME], tvb, offset+4, tlv_length, ENC_ASCII|ENC_NA); break; default: @@ -2458,9 +2453,7 @@ dissect_ospf_lsa_opaque_ri(tvbuff_t *tvb, int offset, proto_tree *tree, proto_tree_add_text(tlv_tree, tvb, offset + 2, 2, "TLV Length: %u", tlv_length); - unknown_str = tvb_get_string(tvb, offset+4, tlv_length); - proto_tree_add_string(tlv_tree, hf_ospf_filter[OSPFF_UNKNOWN_TLV_TXT], tvb, offset+4, tlv_length, unknown_str); - g_free(unknown_str); + proto_tree_add_item(tlv_tree, hf_ospf_filter[OSPFF_UNKNOWN_TLV_TXT], tvb, offset+4, tlv_length, ENC_ASCII|ENC_NA); break; } diff --git a/epan/dissectors/packet-rpcap.c b/epan/dissectors/packet-rpcap.c index e3de008361..9a9e7c48f0 100644 --- a/epan/dissectors/packet-rpcap.c +++ b/epan/dissectors/packet-rpcap.c @@ -735,14 +735,13 @@ dissect_rpcap_startcap_request (tvbuff_t *tvb, packet_info *pinfo, proto_tree_add_item (field_tree, hf_flags_outbound, tvb, offset, 2, ENC_BIG_ENDIAN); if (flags & 0x1F) { - gchar *flagstr = g_strdup_printf ("%s%s%s%s%s", + gchar *flagstr = ep_strdup_printf ("%s%s%s%s%s", (flags & FLAG_PROMISC) ? ", Promiscuous" : "", (flags & FLAG_DGRAM) ? ", Datagram" : "", (flags & FLAG_SERVEROPEN) ? ", ServerOpen" : "", (flags & FLAG_INBOUND) ? ", Inbound" : "", (flags & FLAG_OUTBOUND) ? ", Outbound" : ""); proto_item_append_text (field_ti, ":%s", &flagstr[1]); - g_free (flagstr); } else { proto_item_append_text (field_ti, " (none)"); } diff --git a/epan/dissectors/packet-tds.c b/epan/dissectors/packet-tds.c index 59a4c4a0b2..2ee8b47a50 100644 --- a/epan/dissectors/packet-tds.c +++ b/epan/dissectors/packet-tds.c @@ -1161,7 +1161,7 @@ dissect_tds7_login(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) len *= 2; val = (gchar*)tvb_get_ephemeral_string(tvb, offset2, len); - val2 = g_malloc((len/2)+1); + val2 = ep_alloc((len/2)+1); for(j = 0, k = 0; j < len; j += 2, k++) { val[j] ^= 0xA5; @@ -1174,7 +1174,6 @@ dissect_tds7_login(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) val2[k] = '\0'; /* Null terminate our new string */ proto_tree_add_text(login_tree, tvb, offset2, len, "%s: %s", val_to_str(i, login_field_names, "Unknown"), val2); - g_free(val2); } } } |