aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-08-10 13:41:13 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-08-10 13:41:13 +0000
commitec3ab9ec3e56a8d2c4f037a8714eba007c0dfcf3 (patch)
tree05b2dac45e4d53ecfac0cd8657236f9e4ded41b7
parent19dd9f815952fd4d841c1935319c2987781c51be (diff)
rename ep_tvb_get_string() to tvb_get_ephemeral_string() asnd update the documentation in README.developer
svn path=/trunk/; revision=15270
-rw-r--r--doc/README.developer21
-rw-r--r--epan/dissectors/packet-3g-a11.c4
-rw-r--r--epan/dissectors/packet-afp.c4
-rw-r--r--epan/dissectors/packet-aim-messaging.c2
-rw-r--r--epan/dissectors/packet-aim.c4
-rw-r--r--epan/dissectors/packet-ansi_a.c10
-rw-r--r--epan/dissectors/packet-atalk.c6
-rw-r--r--epan/dissectors/packet-bacapp.c2
-rw-r--r--epan/dissectors/packet-dcerpc-nt.c2
-rw-r--r--epan/dissectors/packet-dcm.c2
-rw-r--r--epan/dissectors/packet-dhcp-failover.c4
-rw-r--r--epan/dissectors/packet-dhcpv6.c4
-rw-r--r--epan/dissectors/packet-dsi.c4
-rw-r--r--epan/dissectors/packet-edonkey.c2
-rw-r--r--epan/dissectors/packet-fcdns.c2
-rw-r--r--epan/dissectors/packet-fcswils.c2
-rw-r--r--epan/dissectors/packet-fix.c6
-rw-r--r--epan/dissectors/packet-gsm_a.c8
-rw-r--r--epan/dissectors/packet-gtp.c4
-rw-r--r--epan/dissectors/packet-http.c4
-rw-r--r--epan/dissectors/packet-icep.c2
-rw-r--r--epan/dissectors/packet-ieee80211.c2
-rw-r--r--epan/dissectors/packet-image-gif.c2
-rw-r--r--epan/dissectors/packet-jxta.c8
-rw-r--r--epan/dissectors/packet-mmse.c2
-rw-r--r--epan/dissectors/packet-mq.c22
-rw-r--r--epan/dissectors/packet-ms-mms.c2
-rw-r--r--epan/dissectors/packet-msrp.c8
-rw-r--r--epan/dissectors/packet-multipart.c2
-rw-r--r--epan/dissectors/packet-pagp.c4
-rw-r--r--epan/dissectors/packet-q931.c6
-rw-r--r--epan/dissectors/packet-quake2.c2
-rw-r--r--epan/dissectors/packet-rpc.c2
-rw-r--r--epan/dissectors/packet-rsvp.c4
-rw-r--r--epan/dissectors/packet-rtcp.c2
-rw-r--r--epan/dissectors/packet-rtsp.c2
-rw-r--r--epan/dissectors/packet-sdp.c22
-rw-r--r--epan/dissectors/packet-sip.c18
-rw-r--r--epan/dissectors/packet-sipfrag.c2
-rw-r--r--epan/dissectors/packet-slsk.c6
-rw-r--r--epan/dissectors/packet-smb.c2
-rw-r--r--epan/dissectors/packet-sna.c2
-rw-r--r--epan/dissectors/packet-tacacs.c8
-rw-r--r--epan/dissectors/packet-tds.c20
-rw-r--r--epan/dissectors/packet-telnet.c2
-rw-r--r--epan/dissectors/packet-ucp.c4
-rw-r--r--epan/dissectors/packet-uma.c4
-rw-r--r--epan/dissectors/packet-vnc.c2
-rw-r--r--epan/dissectors/packet-wsp.c4
-rw-r--r--epan/tvbuff.c2
-rw-r--r--epan/tvbuff.h16
51 files changed, 149 insertions, 134 deletions
diff --git a/doc/README.developer b/doc/README.developer
index b46c8155a7..c7ba8a0c07 100644
--- a/doc/README.developer
+++ b/doc/README.developer
@@ -353,7 +353,7 @@ and
memory if the size field has a bogus large value.
If you're fetching into such a chunk of memory a string from the buffer,
-and the string has a specified size, you can use "tvb_get_string()",
+and the string has a specified size, you can use "tvb_get_*_string()",
which will check whether the entire string is present before allocating
a buffer for the string, and will also put a trailing '\0' at the end of
the buffer.
@@ -386,9 +386,9 @@ protocol specifications can't ensure only packets that conform to the
specification will be transmitted or that only packets for the protocol
in question will be interpreted as packets for that protocol by
Ethereal). If there's no maximum length of string data to be fetched,
-routines such as "tvb_get_string()" are safer, as they allocate a buffer
-large enough to hold the string. (Note that you should free the string
-once you're finished with it.)
+routines such as "tvb_get_*_string()" are safer, as they allocate a buffer
+large enough to hold the string. (Note that some variants of this call
+require you to free the string once you're finished with it.)
If you have gotten a pointer using "tvb_get_ptr()", you must make sure
that you do not refer to any data past the length passed as the last
@@ -889,13 +889,22 @@ answer on big-endian machines.
String accessors:
guint8 *tvb_get_string(tvbuff_t*, gint offset, gint length);
+guint8 *tvb_get_ephemeral_string(tvbuff_t*, gint offset, gint length);
-Returns a null-terminated buffer, allocated with "g_malloc()" (so it
-must be freed with "g_free()"), containing data from the specified
+Returns a null-terminated buffer containing data from the specified
tvbuff, starting at the specified offset, and containing the specified
length worth of characters (the length of the buffer will be length+1,
as it includes a null character to terminate the string).
+tvb_get_string() returns a bugger allocated by g_malloc() so you must
+g_free() it when you are finished with the string. Failure to g_free() this
+buffer will lead to memory leaks.
+tvb_get_ephemeral_string() returns a buffer allocated from a special heap
+with a lifetime until the next packet is dissected. You do not need to
+free() this buffer, it will happen automatically once the next packet is
+dissected.
+
+
guint8 *tvb_get_stringz(tvbuff_t *tvb, gint offset, gint *lengthp);
Returns a null-terminated buffer, allocated with "g_malloc()",
diff --git a/epan/dissectors/packet-3g-a11.c b/epan/dissectors/packet-3g-a11.c
index 550c213b47..63dc8a2b55 100644
--- a/epan/dissectors/packet-3g-a11.c
+++ b/epan/dissectors/packet-3g-a11.c
@@ -390,7 +390,7 @@ dissect_a11_radius( tvbuff_t *tvb, int offset, proto_tree *tree, int app_len)
/**** ad-hoc ***/
if(radius_type == 31)
{
- str_val = ep_tvb_get_string(tvb,offset+2,radius_len-2);
+ str_val = tvb_get_ephemeral_string(tvb,offset+2,radius_len-2);
proto_tree_add_text(radius_tree, tvb, offset, radius_len,
"MSID: %s", str_val);
}
@@ -478,7 +478,7 @@ dissect_a11_radius( tvbuff_t *tvb, int offset, proto_tree *tree, int app_len)
a11_airlink_types,"Unknown"));
break;
case ATTR_TYPE_STR:
- str_val = ep_tvb_get_string(tvb,offset+radius_offset+2,attribute_len-2);
+ str_val = tvb_get_ephemeral_string(tvb,offset+radius_offset+2,attribute_len-2);
proto_tree_add_text(radius_tree, tvb, offset+radius_offset,
attribute_len,
"3GPP2: %s (%s)", attrs[attribute_type].attrname, str_val);
diff --git a/epan/dissectors/packet-afp.c b/epan/dissectors/packet-afp.c
index 8f95ea68a5..8da808d99a 100644
--- a/epan/dissectors/packet-afp.c
+++ b/epan/dissectors/packet-afp.c
@@ -1594,7 +1594,7 @@ name_in_bitmap(tvbuff_t *tvb, gint offset, guint16 bitmap, int isdir)
tp_ofs = nameoff +org_offset;
len = tvb_get_guint8(tvb, tp_ofs);
tp_ofs++;
- name = ep_tvb_get_string(tvb, tp_ofs, len);
+ name = tvb_get_ephemeral_string(tvb, tp_ofs, len);
return name;
}
offset += 2;
@@ -1632,7 +1632,7 @@ name_in_bitmap(tvbuff_t *tvb, gint offset, guint16 bitmap, int isdir)
tp_ofs = nameoff +org_offset +4;
len16 = tvb_get_ntohs(tvb, tp_ofs);
tp_ofs += 2;
- name = ep_tvb_get_string(tvb, tp_ofs, len16);
+ name = tvb_get_ephemeral_string(tvb, tp_ofs, len16);
return name;
}
}
diff --git a/epan/dissectors/packet-aim-messaging.c b/epan/dissectors/packet-aim-messaging.c
index 8e792ef544..8032cc9940 100644
--- a/epan/dissectors/packet-aim-messaging.c
+++ b/epan/dissectors/packet-aim-messaging.c
@@ -410,7 +410,7 @@ static int dissect_aim_rendezvous_extended_message(tvbuff_t *tvb, proto_tree *ms
proto_tree_add_item(msg_tree, hf_aim_rendezvous_extended_data_message_priority_code, tvb, offset, 2, TRUE); offset+=2;
text_length = tvb_get_letohs(tvb, offset);
proto_tree_add_item(msg_tree, hf_aim_rendezvous_extended_data_message_text_length, tvb, offset, 2, TRUE); offset+=2;
- text = ep_tvb_get_string(tvb, offset, text_length);
+ text = tvb_get_ephemeral_string(tvb, offset, text_length);
proto_tree_add_text(msg_tree, tvb, offset, text_length, "Text: %s", text); offset+=text_length;
offset = tvb->length;
diff --git a/epan/dissectors/packet-aim.c b/epan/dissectors/packet-aim.c
index 89fde56cac..1cb035e2b0 100644
--- a/epan/dissectors/packet-aim.c
+++ b/epan/dissectors/packet-aim.c
@@ -1114,7 +1114,7 @@ int dissect_aim_tlv_value_string (proto_item *ti, guint16 valueid _U_, tvbuff_t
gint string_len;
string_len = tvb_length(tvb);
- buf = ep_tvb_get_string(tvb, 0, string_len);
+ buf = tvb_get_ephemeral_string(tvb, 0, string_len);
proto_item_set_text(ti, "Value: %s", format_text(buf, string_len));
return string_len;
}
@@ -1204,7 +1204,7 @@ int dissect_aim_tlv_value_messageblock (proto_item *ti, guint16 valueid _U_, tvb
offset += 2;
/* The actual message */
- buf = ep_tvb_get_string(tvb, offset, blocklen - 4 );
+ buf = tvb_get_ephemeral_string(tvb, offset, blocklen - 4 );
proto_item_set_text(ti, "Message: %s",
format_text(buf, blocklen - 4));
proto_tree_add_item(entry, hf_aim_messageblock_message, tvb, offset,
diff --git a/epan/dissectors/packet-ansi_a.c b/epan/dissectors/packet-ansi_a.c
index e0917b23f4..03a4157b24 100644
--- a/epan/dissectors/packet-ansi_a.c
+++ b/epan/dissectors/packet-ansi_a.c
@@ -1417,7 +1417,7 @@ elem_mid(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_
a_bigbuf[0] = Dgt_msid.out[(oct & 0xf0) >> 4];
curr_offset++;
- poctets = ep_tvb_get_string(tvb, curr_offset, len - (curr_offset - offset));
+ poctets = tvb_get_ephemeral_string(tvb, curr_offset, len - (curr_offset - offset));
my_dgt_tbcd_unpack(&a_bigbuf[1], poctets, len - (curr_offset - offset),
&Dgt_msid);
@@ -2745,7 +2745,7 @@ elem_clg_party_ascii_num(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint
curr_offset++;
}
- poctets = ep_tvb_get_string(tvb, curr_offset, len - (curr_offset - offset));
+ poctets = tvb_get_ephemeral_string(tvb, curr_offset, len - (curr_offset - offset));
proto_tree_add_string_format(tree, hf_ansi_a_clg_party_ascii_num,
tvb, curr_offset, len - (curr_offset - offset),
@@ -3256,7 +3256,7 @@ elem_cld_party_bcd_num(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint le
curr_offset++;
- poctets = ep_tvb_get_string(tvb, curr_offset, len - (curr_offset - offset));
+ poctets = tvb_get_ephemeral_string(tvb, curr_offset, len - (curr_offset - offset));
my_dgt_tbcd_unpack(a_bigbuf, poctets, len - (curr_offset - offset),
&Dgt_tbcd);
@@ -3393,7 +3393,7 @@ elem_clg_party_bcd_num(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint le
curr_offset++;
}
- poctets = ep_tvb_get_string(tvb, curr_offset, len - (curr_offset - offset));
+ poctets = tvb_get_ephemeral_string(tvb, curr_offset, len - (curr_offset - offset));
my_dgt_tbcd_unpack(a_bigbuf, poctets, len - (curr_offset - offset),
&Dgt_tbcd);
@@ -5282,7 +5282,7 @@ elem_cld_party_ascii_num(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint
curr_offset++;
- poctets = ep_tvb_get_string(tvb, curr_offset, len - (curr_offset - offset));
+ poctets = tvb_get_ephemeral_string(tvb, curr_offset, len - (curr_offset - offset));
proto_tree_add_string_format(tree, hf_ansi_a_cld_party_ascii_num,
tvb, curr_offset, len - (curr_offset - offset),
diff --git a/epan/dissectors/packet-atalk.c b/epan/dissectors/packet-atalk.c
index 72cfa3b48f..43a54d62a1 100644
--- a/epan/dissectors/packet-atalk.c
+++ b/epan/dissectors/packet-atalk.c
@@ -518,7 +518,7 @@ static int dissect_pascal_string(tvbuff_t *tvb, int offset, proto_tree *tree,
* code, we could perhaps avoid allocating and freeing
* this string buffer.
*/
- tmp = ep_tvb_get_string(tvb, offset, len);
+ tmp = tvb_get_ephemeral_string(tvb, offset, len);
item = proto_tree_add_string(tree, hf_index, tvb, offset-1, len+1, tmp);
subtree = proto_item_add_subtree(item, ett_pstring);
@@ -1052,7 +1052,7 @@ dissect_asp_reply_get_status(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *
break;
case 4: /* DNS */
if (len > 2) {
- tmp = ep_tvb_get_string(tvb, ofs +2, len -2);
+ tmp = tvb_get_ephemeral_string(tvb, ofs +2, len -2);
ti = proto_tree_add_text(adr_tree, tvb, ofs, len, "dns %s", tmp);
break;
}
@@ -1090,7 +1090,7 @@ dissect_asp_reply_get_status(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *
ofs = utf_ofs;
ulen = tvb_get_ntohs(tvb, ofs);
- tmp = ep_tvb_get_string(tvb, ofs + 2, ulen);
+ tmp = tvb_get_ephemeral_string(tvb, ofs + 2, ulen);
ti = proto_tree_add_text(tree, tvb, ofs, ulen +2, "UTF8 server name: %s", tmp);
sub_tree = proto_item_add_subtree(ti, ett_asp_utf8_name);
proto_tree_add_uint(sub_tree, hf_asp_server_utf8_name_len, tvb, ofs, 2, ulen);
diff --git a/epan/dissectors/packet-bacapp.c b/epan/dissectors/packet-bacapp.c
index aeabbda49d..af67f80322 100644
--- a/epan/dissectors/packet-bacapp.c
+++ b/epan/dissectors/packet-bacapp.c
@@ -2203,7 +2203,7 @@ fCharacterString (tvbuff_t *tvb, proto_tree *tree, guint offset, const gchar *la
* other dissectors need to handle various
* character encodings.
*/
- str_val = ep_tvb_get_string(tvb, offset, l);
+ str_val = tvb_get_ephemeral_string(tvb, offset, l);
/** this decoding may be not correct for multi-byte characters, Lka */
switch (character_set) {
case 0x00: /* ANSI_X3.4 */
diff --git a/epan/dissectors/packet-dcerpc-nt.c b/epan/dissectors/packet-dcerpc-nt.c
index feaef59b22..7033a80473 100644
--- a/epan/dissectors/packet-dcerpc-nt.c
+++ b/epan/dissectors/packet-dcerpc-nt.c
@@ -1082,7 +1082,7 @@ void cb_str_postprocess(packet_info *pinfo, proto_tree *tree _U_,
* some way we can get that string, rather than duplicating the
* efforts of that routine?
*/
- s = ep_tvb_get_string(
+ s = tvb_get_ephemeral_string(
tvb, start_offset + 12, (end_offset - start_offset - 12) );
/* Append string to COL_INFO */
diff --git a/epan/dissectors/packet-dcm.c b/epan/dissectors/packet-dcm.c
index 95ed785941..2432280e7a 100644
--- a/epan/dissectors/packet-dcm.c
+++ b/epan/dissectors/packet-dcm.c
@@ -655,7 +655,7 @@ dissect_dcm_assoc(dcmState_t *dcm_data, proto_item *ti, tvbuff_t *tvb, int offse
if (ti)
proto_tree_add_item(dcm_tree, hf_dcm_pdi_syntax, tvb, offset, len > 65 ? 65 : len, FALSE);
if (reply && di && di->valid) {
- name = ep_tvb_get_string(tvb, offset, len);
+ name = tvb_get_ephemeral_string(tvb, offset, len);
dcm_setSyntax(di, name);
}
reply = 0;
diff --git a/epan/dissectors/packet-dhcp-failover.c b/epan/dissectors/packet-dhcp-failover.c
index 16268e3fb4..6c8b7b05ce 100644
--- a/epan/dissectors/packet-dhcp-failover.c
+++ b/epan/dissectors/packet-dhcp-failover.c
@@ -578,7 +578,7 @@ dissect_dhcpfo_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
* we need to dissect it as such.
*/
client_identifier_str =
- ep_tvb_get_string(tvb, offset, option_length);
+ tvb_get_ephemeral_string(tvb, offset, option_length);
proto_item_append_text(oi,", \"%s\"",
format_text(client_identifier_str, option_length));
proto_tree_add_string(option_tree,
@@ -655,7 +655,7 @@ dissect_dhcpfo_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
case DHCP_FO_PD_VENDOR_CLASS:
vendor_class_str =
- ep_tvb_get_string(tvb, offset, option_length);
+ tvb_get_ephemeral_string(tvb, offset, option_length);
proto_item_append_text(oi,", \"%s\"",
format_text(vendor_class_str, option_length));
proto_tree_add_string(option_tree,
diff --git a/epan/dissectors/packet-dhcpv6.c b/epan/dissectors/packet-dhcpv6.c
index e5f5db2905..f969cd14f9 100644
--- a/epan/dissectors/packet-dhcpv6.c
+++ b/epan/dissectors/packet-dhcpv6.c
@@ -580,7 +580,7 @@ dhcpv6_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree,
status_code);
if (optlen - 2 > 0) {
- status_message = ep_tvb_get_string(tvb, off + 2, optlen - 2);
+ status_message = tvb_get_ephemeral_string(tvb, off + 2, optlen - 2);
proto_tree_add_text(subtree, tvb, off + 2, optlen - 2,
"Status Message: %s",
status_message);
@@ -727,7 +727,7 @@ dhcpv6_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree,
break;
case OPTION_TIME_ZONE:
if (optlen > 0) {
- buf = ep_tvb_get_string(tvb, off, optlen);
+ buf = tvb_get_ephemeral_string(tvb, off, optlen);
proto_tree_add_text(subtree, tvb, off, optlen, "time-zone: %s", buf);
}
break;
diff --git a/epan/dissectors/packet-dsi.c b/epan/dissectors/packet-dsi.c
index 75c1eaed99..7604a587c6 100644
--- a/epan/dissectors/packet-dsi.c
+++ b/epan/dissectors/packet-dsi.c
@@ -414,7 +414,7 @@ dissect_dsi_reply_get_status(tvbuff_t *tvb, proto_tree *tree, gint offset)
case 4: /* DNS */
case 5: /* SSH tunnel */
if (len > 2) {
- tmp = ep_tvb_get_string(tvb, ofs +2, len -2);
+ tmp = tvb_get_ephemeral_string(tvb, ofs +2, len -2);
ti = proto_tree_add_text(adr_tree, tvb, ofs, len, "%s: %s",
(type==4)?"dns":"ssh tunnel", tmp);
break;
@@ -467,7 +467,7 @@ dissect_dsi_reply_get_status(tvbuff_t *tvb, proto_tree *tree, gint offset)
ofs = utf_ofs;
ulen = tvb_get_ntohs(tvb, ofs);
- tmp = ep_tvb_get_string(tvb, ofs + 2, ulen);
+ tmp = tvb_get_ephemeral_string(tvb, ofs + 2, ulen);
ti = proto_tree_add_text(tree, tvb, ofs, ulen + 2, "UTF8 server name: %s", tmp);
sub_tree = proto_item_add_subtree(ti, ett_dsi_utf8_name);
proto_tree_add_uint(sub_tree, hf_dsi_utf8_server_name_len, tvb, ofs, 2, ulen);
diff --git a/epan/dissectors/packet-edonkey.c b/epan/dissectors/packet-edonkey.c
index 82c4473b8f..02718c4dd7 100644
--- a/epan/dissectors/packet-edonkey.c
+++ b/epan/dissectors/packet-edonkey.c
@@ -292,7 +292,7 @@ static guint8 edonkey_metatag_name_get_type(tvbuff_t *tvb, gint start, gint leng
if (match_strval(special_tagtype, edonkey_special_tags) == NULL) {
gint index;
- tag_name = ep_tvb_get_string(tvb, start, length);
+ tag_name = tvb_get_ephemeral_string(tvb, start, length);
index = lookup_str_index(tag_name, length, edonkey_special_tags);
if (index < 0)
return EDONKEY_STAG_UNKNOWN;
diff --git a/epan/dissectors/packet-fcdns.c b/epan/dissectors/packet-fcdns.c
index ce9cbf0dce..5e4052ac2d 100644
--- a/epan/dissectors/packet-fcdns.c
+++ b/epan/dissectors/packet-fcdns.c
@@ -1139,7 +1139,7 @@ static guint8 *
zonenm_to_str (tvbuff_t *tvb, gint offset)
{
int len = tvb_get_guint8 (tvb, offset);
- return ep_tvb_get_string (tvb, offset+4, len);
+ return tvb_get_ephemeral_string (tvb, offset+4, len);
}
static void
diff --git a/epan/dissectors/packet-fcswils.c b/epan/dissectors/packet-fcswils.c
index 046a01f1d1..7665de2bec 100644
--- a/epan/dissectors/packet-fcswils.c
+++ b/epan/dissectors/packet-fcswils.c
@@ -440,7 +440,7 @@ static guint8 *
zonenm_to_str (tvbuff_t *tvb, gint offset)
{
int len = tvb_get_guint8 (tvb, offset);
- return ep_tvb_get_string (tvb, offset+4, len);
+ return tvb_get_ephemeral_string (tvb, offset+4, len);
}
/* Offset points to the start of the zone object */
diff --git a/epan/dissectors/packet-fix.c b/epan/dissectors/packet-fix.c
index beae7737b9..133998245b 100644
--- a/epan/dissectors/packet-fix.c
+++ b/epan/dissectors/packet-fix.c
@@ -868,7 +868,7 @@ dissect_fix(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
}
if (check_col(pinfo->cinfo, COL_INFO)) {
- value = ep_tvb_get_string(tvb, value_offset, value_len);
+ value = tvb_get_ephemeral_string(tvb, value_offset, value_len);
col_add_fstr(pinfo->cinfo, COL_INFO, "%s", (char *)g_datalist_get_data(&msg_types, value));
}
@@ -925,10 +925,10 @@ dissect_fix(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
packet. */
return TRUE;
}
- tag_str = ep_tvb_get_string(tvb, field_offset, tag_len);
+ tag_str = tvb_get_ephemeral_string(tvb, field_offset, tag_len);
tag = atoi(tag_str);
- value = ep_tvb_get_string(tvb, value_offset, value_len);
+ value = tvb_get_ephemeral_string(tvb, value_offset, value_len);
switch(tag) {
case 1: /* Field Account */
diff --git a/epan/dissectors/packet-gsm_a.c b/epan/dissectors/packet-gsm_a.c
index f97362da7e..b526ac008e 100644
--- a/epan/dissectors/packet-gsm_a.c
+++ b/epan/dissectors/packet-gsm_a.c
@@ -3486,7 +3486,7 @@ de_mid(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_st
a_bigbuf[0] = Dgt_msid.out[(oct & 0xf0) >> 4];
curr_offset++;
- poctets = ep_tvb_get_string(tvb, curr_offset, len - (curr_offset - offset));
+ poctets = tvb_get_ephemeral_string(tvb, curr_offset, len - (curr_offset - offset));
my_dgt_tbcd_unpack(&a_bigbuf[1], poctets, len - (curr_offset - offset),
&Dgt_msid);
@@ -3533,7 +3533,7 @@ de_mid(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_st
a_bigbuf[0] = Dgt_msid.out[(oct & 0xf0) >> 4];
curr_offset++;
- poctets = ep_tvb_get_string(tvb, curr_offset, len - (curr_offset - offset));
+ poctets = tvb_get_ephemeral_string(tvb, curr_offset, len - (curr_offset - offset));
my_dgt_tbcd_unpack(&a_bigbuf[1], poctets, len - (curr_offset - offset),
&Dgt_msid);
@@ -6760,7 +6760,7 @@ de_cld_party_bcd_num(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len,
NO_MORE_DATA_CHECK(len);
- poctets = ep_tvb_get_string(tvb, curr_offset, len - (curr_offset - offset));
+ poctets = tvb_get_ephemeral_string(tvb, curr_offset, len - (curr_offset - offset));
my_dgt_tbcd_unpack(a_bigbuf, poctets, len - (curr_offset - offset),
&Dgt_mbcd);
@@ -6975,7 +6975,7 @@ de_clg_party_bcd_num(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len,
NO_MORE_DATA_CHECK(len);
- poctets = ep_tvb_get_string(tvb, curr_offset, len - (curr_offset - offset));
+ poctets = tvb_get_ephemeral_string(tvb, curr_offset, len - (curr_offset - offset));
my_dgt_tbcd_unpack(a_bigbuf, poctets, len - (curr_offset - offset),
&Dgt_mbcd);
diff --git a/epan/dissectors/packet-gtp.c b/epan/dissectors/packet-gtp.c
index d409335bf0..910a9f5272 100644
--- a/epan/dissectors/packet-gtp.c
+++ b/epan/dissectors/packet-gtp.c
@@ -3144,7 +3144,7 @@ decode_apn(tvbuff_t *tvb, int offset, guint16 length, proto_tree *tree) {
name_len = tvb_get_guint8 (tvb, offset);
if (name_len < 0x20) {
- apn = ep_tvb_get_string(tvb, offset + 1, length - 1);
+ apn = tvb_get_ephemeral_string(tvb, offset + 1, length - 1);
for (;;) {
if (name_len >= length - 1) break;
tmp = name_len;
@@ -3152,7 +3152,7 @@ decode_apn(tvbuff_t *tvb, int offset, guint16 length, proto_tree *tree) {
apn[tmp] = '.';
}
} else
- apn = ep_tvb_get_string(tvb, offset, length);
+ apn = tvb_get_ephemeral_string(tvb, offset, length);
proto_tree_add_string (tree, hf_gtp_apn, tvb, offset, length, apn);
}
diff --git a/epan/dissectors/packet-http.c b/epan/dissectors/packet-http.c
index 6fa46e0527..6fb851fa93 100644
--- a/epan/dissectors/packet-http.c
+++ b/epan/dissectors/packet-http.c
@@ -1143,7 +1143,7 @@ basic_request_dissector(tvbuff_t *tvb, proto_tree *tree, int offset,
tokenlen = get_token_len(line, lineend, &next_token);
if (tokenlen == 0)
return;
- stat_info->request_uri = (gchar*) ep_tvb_get_string(tvb, offset, tokenlen);
+ stat_info->request_uri = (gchar*) tvb_get_ephemeral_string(tvb, offset, tokenlen);
proto_tree_add_string(tree, hf_http_request_uri, tvb, offset, tokenlen,
stat_info->request_uri);
offset += next_token - line;
@@ -1234,7 +1234,7 @@ chunked_encoding_dissector(tvbuff_t **tvb_ptr, packet_info *pinfo,
break;
}
- chunk_string = ep_tvb_get_string(tvb, offset, linelen);
+ chunk_string = tvb_get_ephemeral_string(tvb, offset, linelen);
if (chunk_string == NULL) {
/* Can't get the chunk size line */
diff --git a/epan/dissectors/packet-icep.c b/epan/dissectors/packet-icep.c
index 2c5b51cbd2..b0763035d6 100644
--- a/epan/dissectors/packet-icep.c
+++ b/epan/dissectors/packet-icep.c
@@ -256,7 +256,7 @@ static void dissect_ice_string(proto_tree *tree, int hf_icep,
if ( Size != 0 ) {
- s = ep_tvb_get_string(tvb, offset, Size);
+ s = tvb_get_ephemeral_string(tvb, offset, Size);
if (tree && add_hf)
proto_tree_add_string(tree, hf_icep, tvb, offset, Size, s);
} else {
diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c
index 9dce2337cb..b385c0d9ad 100644
--- a/epan/dissectors/packet-ieee80211.c
+++ b/epan/dissectors/packet-ieee80211.c
@@ -1328,7 +1328,7 @@ add_tagged_field (packet_info * pinfo, proto_tree * tree, tvbuff_t * tvb, int of
{
char *ssid;
- ssid = ep_tvb_get_string(tvb, offset + 2, tag_len);
+ ssid = tvb_get_ephemeral_string(tvb, offset + 2, tag_len);
proto_tree_add_string (tree, tag_interpretation, tvb, offset + 2,
tag_len, ssid);
if (check_col (pinfo->cinfo, COL_INFO)) {
diff --git a/epan/dissectors/packet-image-gif.c b/epan/dissectors/packet-image-gif.c
index 16819c1202..6051e7e005 100644
--- a/epan/dissectors/packet-image-gif.c
+++ b/epan/dissectors/packet-image-gif.c
@@ -164,7 +164,7 @@ dissect_gif(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
guint8 color_resolution;
guint8 image_bpp;
guint tvb_len = tvb_reported_length(tvb);
- char *str = ep_tvb_get_string(tvb, 0, 6);
+ char *str = tvb_get_ephemeral_string(tvb, 0, 6);
guint8 version;
/* Check whether we're processing a GIF object */
diff --git a/epan/dissectors/packet-jxta.c b/epan/dissectors/packet-jxta.c
index fcabe44d69..b6f04ad447 100644
--- a/epan/dissectors/packet-jxta.c
+++ b/epan/dissectors/packet-jxta.c
@@ -698,7 +698,7 @@ static int dissect_jxta_welcome(tvbuff_t * tvb, packet_info * pinfo, proto_tree
}
{
- gchar * welcomeline = ep_tvb_get_string( tvb, offset, first_linelen );
+ gchar * welcomeline = tvb_get_ephemeral_string( tvb, offset, first_linelen );
gchar** tokens = g_strsplit( welcomeline, " ", 6 );
gchar** current_token = tokens;
guint token_offset = offset;
@@ -853,7 +853,7 @@ static int dissect_jxta_message_framing(tvbuff_t * tvb, packet_info * pinfo, pro
if (content_type && (sizeof("content-type") - 1) == headername_len) {
if (0 == tvb_strncaseeql(tvb, headername_offset, "content-type", sizeof("content-type") - 1)) {
- *content_type = ep_tvb_get_string(tvb, headervalue_offset, headervalue_len);
+ *content_type = tvb_get_ephemeral_string(tvb, headervalue_offset, headervalue_len);
}
}
@@ -1139,7 +1139,7 @@ static int dissect_jxta_message(tvbuff_t * tvb, packet_info * pinfo, proto_tree
for (each_namespace = 0; each_namespace < msg_ns_count; each_namespace++) {
guint16 namespace_len = tvb_get_ntohs(tvb, tree_offset);
- namespaces[2 + each_namespace] = ep_tvb_get_string(tvb, tree_offset + sizeof(namespace_len), namespace_len);
+ namespaces[2 + each_namespace] = tvb_get_ephemeral_string(tvb, tree_offset + sizeof(namespace_len), namespace_len);
proto_tree_add_item(jxta_msg_tree, hf_jxta_message_namespace_name, tvb, tree_offset, sizeof(namespace_len), FALSE);
tree_offset += sizeof(namespace_len) + namespace_len;
}
@@ -1383,7 +1383,7 @@ static int dissect_jxta_message_element(tvbuff_t * tvb, packet_info * pinfo, pro
proto_tree_add_item(jxta_elem_tree, hf_jxta_element_type, tvb, tree_offset, sizeof(guint16), FALSE);
tree_offset += sizeof(guint16);
- mediatype = ep_tvb_get_string(tvb, tree_offset, type_len);
+ mediatype = tvb_get_ephemeral_string(tvb, tree_offset, type_len);
/* remove any params */
{
diff --git a/epan/dissectors/packet-mmse.c b/epan/dissectors/packet-mmse.c
index 142e5909ba..04572daa76 100644
--- a/epan/dissectors/packet-mmse.c
+++ b/epan/dissectors/packet-mmse.c
@@ -538,7 +538,7 @@ get_encoded_strval(tvbuff_t *tvb, guint offset, char **strval)
*strval = "";
} else {
/* \todo Something with "Char-set", skip for now */
- *strval = (char *)ep_tvb_get_string(tvb, offset + count + 1, length - 1);
+ *strval = (char *)tvb_get_ephemeral_string(tvb, offset + count + 1, length - 1);
}
return count + length;
} else
diff --git a/epan/dissectors/packet-mq.c b/epan/dissectors/packet-mq.c
index ec9e7ff7c7..6dacbc0da1 100644
--- a/epan/dissectors/packet-mq.c
+++ b/epan/dissectors/packet-mq.c
@@ -1062,7 +1062,7 @@ dissect_mq_gmo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean bLi
if (check_col(pinfo->cinfo, COL_INFO))
{
guint8* sQueue;
- sQueue = ep_tvb_get_string(tvb, offset + 24, 48);
+ sQueue = tvb_get_ephemeral_string(tvb, offset + 24, 48);
if (strip_trailing_blanks(sQueue, 48) != 0)
{
col_append_fstr(pinfo->cinfo, COL_INFO, " Q=%s", sQueue);
@@ -1138,7 +1138,7 @@ dissect_mq_pmo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean bLi
if (check_col(pinfo->cinfo, COL_INFO))
{
guint8* sQueue;
- sQueue = ep_tvb_get_string(tvb, offset + 32, 48);
+ sQueue = tvb_get_ephemeral_string(tvb, offset + 32, 48);
if (strip_trailing_blanks(sQueue, 48) != 0)
{
col_append_fstr(pinfo->cinfo, COL_INFO, " Q=%s", sQueue);
@@ -1434,12 +1434,12 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
guint8* sApplicationName;
guint8* sQueueManager;
- sApplicationName = ep_tvb_get_string(tvb, offset + 48, 28);
+ sApplicationName = tvb_get_ephemeral_string(tvb, offset + 48, 28);
if (strip_trailing_blanks(sApplicationName, 28) != 0)
{
col_append_fstr(pinfo->cinfo, COL_INFO, ": App=%s", sApplicationName);
}
- sQueueManager = ep_tvb_get_string(tvb, offset, 48);
+ sQueueManager = tvb_get_ephemeral_string(tvb, offset, 48);
if (strip_trailing_blanks(sQueueManager, 48) != 0)
{
col_append_fstr(pinfo->cinfo, COL_INFO, " QM=%s", sQueueManager);
@@ -1559,7 +1559,7 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if (tree)
{
guint8* sStructId;
- sStructId = ep_tvb_get_string(tvb, offset, 4);
+ sStructId = tvb_get_ephemeral_string(tvb, offset, 4);
ti = proto_tree_add_text(mqroot_tree, tvb, offset, 12, (const char*)sStructId);
mq_tree = proto_item_add_subtree(ti, ett_mq_spi_base);
@@ -1601,7 +1601,7 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
/* Dissect the common part of these structures */
guint8* sStructId;
- sStructId = ep_tvb_get_string(tvb, offset, 4);
+ sStructId = tvb_get_ephemeral_string(tvb, offset, 4);
ti = proto_tree_add_text(mqroot_tree, tvb, offset, -1, "%s", (const char*)sStructId);
mq_tree = proto_item_add_subtree(ti, ett_mq_spi_base);
@@ -1783,7 +1783,7 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if (check_col(pinfo->cinfo, COL_INFO))
{
guint8* sChannel;
- sChannel = ep_tvb_get_string(tvb, offset + 24, 20);
+ sChannel = tvb_get_ephemeral_string(tvb, offset + 24, 20);
if (strip_trailing_blanks(sChannel, 20) != 0)
{
col_append_fstr(pinfo->cinfo, COL_INFO, ": CHL=%s", sChannel);
@@ -1849,7 +1849,7 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if (check_col(pinfo->cinfo, COL_INFO))
{
guint8* sQueueManager;
- sQueueManager = ep_tvb_get_string(tvb, offset + 48, 48);
+ sQueueManager = tvb_get_ephemeral_string(tvb, offset + 48, 48);
if (strip_trailing_blanks(sQueueManager,48) != 0)
{
col_append_fstr(pinfo->cinfo, COL_INFO, " QM=%s", sQueueManager);
@@ -1883,7 +1883,7 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if (check_col(pinfo->cinfo, COL_INFO))
{
guint8* sUserId;
- sUserId = ep_tvb_get_string(tvb, offset + 4, 12);
+ sUserId = tvb_get_ephemeral_string(tvb, offset + 4, 12);
if (strip_trailing_blanks(sUserId, 12) != 0)
{
col_append_fstr(pinfo->cinfo, COL_INFO, ": User=%s", sUserId);
@@ -1934,7 +1934,7 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if (check_col(pinfo->cinfo, COL_INFO))
{
guint8* sQueue;
- sQueue = ep_tvb_get_string(tvb, offset + 12, 48);
+ sQueue = tvb_get_ephemeral_string(tvb, offset + 12, 48);
if (strip_trailing_blanks(sQueue,48) != 0)
{
col_append_fstr(pinfo->cinfo, COL_INFO, " Obj=%s", sQueue);
@@ -2235,7 +2235,7 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if (tMsgProps.iOffsetFormat != 0)
{
guint8* sFormat = NULL;
- sFormat = ep_tvb_get_string(tvb, tMsgProps.iOffsetFormat, 8);
+ sFormat = tvb_get_ephemeral_string(tvb, tMsgProps.iOffsetFormat, 8);
if (strip_trailing_blanks(sFormat, 8) == 0) sFormat = (guint8*)g_strdup("MQNONE");
if (check_col(pinfo->cinfo, COL_INFO))
{
diff --git a/epan/dissectors/packet-ms-mms.c b/epan/dissectors/packet-ms-mms.c
index 9c8f03ad94..91676db384 100644
--- a/epan/dissectors/packet-ms-mms.c
+++ b/epan/dissectors/packet-ms-mms.c
@@ -443,7 +443,7 @@ static gint dissect_msmms_command(tvbuff_t *tvb, packet_info *pinfo, proto_tree
offset += 4;
/* Protocol name. Must be "MMS"... */
- if (strncmp(ep_tvb_get_string(tvb, offset, 3), "MMS", 3) != 0)
+ if (strncmp(tvb_get_ephemeral_string(tvb, offset, 3), "MMS", 3) != 0)
{
return 0;
}
diff --git a/epan/dissectors/packet-msrp.c b/epan/dissectors/packet-msrp.c
index b9ba83fa0d..3c1223bb4a 100644
--- a/epan/dissectors/packet-msrp.c
+++ b/epan/dissectors/packet-msrp.c
@@ -337,7 +337,7 @@ dissect_msrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
space_offset = tvb_find_guint8(tvb, token_2_start, linelen, ' ');
token_2_len = space_offset - token_2_start;
/* Transaction ID found store it for later use */
- transaction_id_str = ep_tvb_get_string(tvb, token_2_start, token_2_len);
+ transaction_id_str = tvb_get_ephemeral_string(tvb, token_2_start, token_2_len);
token_3_start = space_offset + 1;
space_offset = tvb_find_guint8(tvb, token_3_start,linelen, ' ');
@@ -468,7 +468,7 @@ dissect_msrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
* Fetch the value.
*/
value_len = line_end_offset - value_offset;
- value = ep_tvb_get_string(tvb, value_offset,
+ value = tvb_get_ephemeral_string(tvb, value_offset,
value_len);
/*
@@ -498,10 +498,10 @@ dissect_msrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
parameter_offset++;
content_type_len = semi_colon_offset - value_offset;
content_type_parameter_str_len = line_end_offset - parameter_offset;
- content_type_parameter_str = ep_tvb_get_string(tvb, parameter_offset,
+ content_type_parameter_str = tvb_get_ephemeral_string(tvb, parameter_offset,
content_type_parameter_str_len);
}
- media_type_str = ep_tvb_get_string(tvb, value_offset, content_type_len);
+ media_type_str = tvb_get_ephemeral_string(tvb, value_offset, content_type_len);
#if GLIB_MAJOR_VERSION < 2
media_type_str_lower_case = g_strdup(media_type_str);
g_strdown(media_type_str_lower_case);
diff --git a/epan/dissectors/packet-multipart.c b/epan/dissectors/packet-multipart.c
index 5fda13e7ec..1f40b3aa80 100644
--- a/epan/dissectors/packet-multipart.c
+++ b/epan/dissectors/packet-multipart.c
@@ -555,7 +555,7 @@ process_body_part(proto_tree *tree, tvbuff_t *tvb, const guint8 *boundary,
while (line_len > 0)
{
gint colon_offset;
- char *hdr_str = ep_tvb_get_string(tvb, offset, next_offset - offset);
+ char *hdr_str = tvb_get_ephemeral_string(tvb, offset, next_offset - offset);
char *header_str;
header_str = unfold_and_compact_mime_header(hdr_str, &colon_offset);
diff --git a/epan/dissectors/packet-pagp.c b/epan/dissectors/packet-pagp.c
index 27140ff49a..60bf86f211 100644
--- a/epan/dissectors/packet-pagp.c
+++ b/epan/dissectors/packet-pagp.c
@@ -391,12 +391,12 @@ dissect_pagp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
switch (tlv) {
case PAGP_TLV_DEVICE_NAME:
- ch = ep_tvb_get_string(tvb, offset+4, len-4);
+ ch = tvb_get_ephemeral_string(tvb, offset+4, len-4);
proto_tree_add_string(tlv_tree, hf_pagp_tlv_device_name,
tvb, offset+4, len-4, ch);
break;
case PAGP_TLV_PORT_NAME:
- ch = ep_tvb_get_string(tvb, offset+4, len-4);
+ ch = tvb_get_ephemeral_string(tvb, offset+4, len-4);
proto_tree_add_string(tlv_tree, hf_pagp_tlv_port_name,
tvb, offset+4, len-4, ch);
break;
diff --git a/epan/dissectors/packet-q931.c b/epan/dissectors/packet-q931.c
index 6524d17e50..b3e5bf2b8e 100644
--- a/epan/dissectors/packet-q931.c
+++ b/epan/dissectors/packet-q931.c
@@ -2089,7 +2089,7 @@ dissect_q931_number_ie(tvbuff_t *tvb, int offset, int len,
if ( number_plan == 1 ) {
if ( e164_info.e164_number_type != NONE ){
- e164_info.E164_number_str = ep_tvb_get_string(tvb, offset, len);
+ e164_info.E164_number_str = tvb_get_ephemeral_string(tvb, offset, len);
e164_info.E164_number_length = len;
dissect_e164_number(tvb, tree, offset, len, e164_info);
}
@@ -2097,9 +2097,9 @@ dissect_q931_number_ie(tvbuff_t *tvb, int offset, int len,
/* Collect q931_packet_info */
if ( e164_info.e164_number_type == CALLING_PARTY_NUMBER && have_valid_q931_pi)
- q931_pi->calling_number = ep_tvb_get_string(tvb, offset, len);
+ q931_pi->calling_number = tvb_get_ephemeral_string(tvb, offset, len);
if ( e164_info.e164_number_type == CALLED_PARTY_NUMBER && have_valid_q931_pi)
- q931_pi->called_number = ep_tvb_get_string(tvb, offset, len);
+ q931_pi->called_number = tvb_get_ephemeral_string(tvb, offset, len);
}
/*
diff --git a/epan/dissectors/packet-quake2.c b/epan/dissectors/packet-quake2.c
index c2cb8fbce5..05b7141a8e 100644
--- a/epan/dissectors/packet-quake2.c
+++ b/epan/dissectors/packet-quake2.c
@@ -117,7 +117,7 @@ dissect_quake2_ConnectionlessPacket(tvbuff_t *tvb, packet_info *pinfo _U_,
len = tvb_length_remaining(tvb, offset);
if (cl_tree) {
- text = ep_tvb_get_string(tvb, offset, len);
+ text = tvb_get_ephemeral_string(tvb, offset, len);
proto_tree_add_string(cl_tree, hf_quake2_connectionless_text,
tvb, offset, len, text);
}
diff --git a/epan/dissectors/packet-rpc.c b/epan/dissectors/packet-rpc.c
index 314993ce31..217339c85d 100644
--- a/epan/dissectors/packet-rpc.c
+++ b/epan/dissectors/packet-rpc.c
@@ -624,7 +624,7 @@ dissect_rpc_opaque_data(tvbuff_t *tvb, int offset,
if (string_data) {
char *tmpstr;
- tmpstr = ep_tvb_get_string(tvb, data_offset, string_length_copy);
+ tmpstr = tvb_get_ephemeral_string(tvb, data_offset, string_length_copy);
string_buffer = memcpy(ep_alloc(string_length_copy), tmpstr, string_length_copy);
} else {
string_buffer = tvb_memcpy(tvb, ep_alloc(string_length_copy), data_offset, string_length_copy);
diff --git a/epan/dissectors/packet-rsvp.c b/epan/dissectors/packet-rsvp.c
index 0341871ae6..af4655eaa0 100644
--- a/epan/dissectors/packet-rsvp.c
+++ b/epan/dissectors/packet-rsvp.c
@@ -4133,12 +4133,12 @@ dissect_rsvp_call_id (proto_tree *ti, proto_tree *rsvp_object_tree,
"C-type: 2 (globally unique)");
proto_tree_add_text(rsvp_object_tree, tvb, offset2, 1, "Address type: %s",
val_to_str(type, address_type_vals, "Unknown (%u)"));
- str = ep_tvb_get_string (tvb, offset2 + 1, 3);
+ str = tvb_get_ephemeral_string (tvb, offset2 + 1, 3);
proto_tree_add_text(rsvp_object_tree, tvb, offset2 + 1, 3,
"International Segment: %s", str);
proto_item_append_text(ti, "Globally-Unique. Addr Type: %s. Intl Segment: %s. ",
val_to_str(type, address_type_vals, "Unknown (%u)"), str);
- str = ep_tvb_get_string (tvb, offset2 + 4, 12);
+ str = tvb_get_ephemeral_string (tvb, offset2 + 4, 12);
proto_tree_add_text(rsvp_object_tree, tvb, offset2 + 4, 12,
"National Segment: %s", str);
proto_item_append_text(ti, "Natl Segment: %s. ", str);
diff --git a/epan/dissectors/packet-rtcp.c b/epan/dissectors/packet-rtcp.c
index 77e33c0e44..d64f702488 100644
--- a/epan/dissectors/packet-rtcp.c
+++ b/epan/dissectors/packet-rtcp.c
@@ -698,7 +698,7 @@ dissect_rtcp_bye( tvbuff_t *tvb, int offset, proto_tree *tree,
proto_tree_add_item( tree, hf_rtcp_ssrc_length, tvb, offset, 1, FALSE );
offset++;
- reason_text = ep_tvb_get_string(tvb, offset, reason_length);
+ reason_text = tvb_get_ephemeral_string(tvb, offset, reason_length);
proto_tree_add_string( tree, hf_rtcp_ssrc_text, tvb, offset, reason_length, reason_text );
offset += reason_length;
}
diff --git a/epan/dissectors/packet-rtsp.c b/epan/dissectors/packet-rtsp.c
index 82f18a96b9..ea142ebc04 100644
--- a/epan/dissectors/packet-rtsp.c
+++ b/epan/dissectors/packet-rtsp.c
@@ -940,7 +940,7 @@ dissect_rtspmessage(tvbuff_t *tvb, int offset, packet_info *pinfo,
e164_info.e164_number_type = CALLING_PARTY_NUMBER;
e164_info.nature_of_address = 0;
- e164_info.E164_number_str = ep_tvb_get_string(tvb, value_offset,
+ e164_info.E164_number_str = tvb_get_ephemeral_string(tvb, value_offset,
value_len);
e164_info.E164_number_length = value_len;
dissect_e164_number(tvb, sub_tree, value_offset,
diff --git a/epan/dissectors/packet-sdp.c b/epan/dissectors/packet-sdp.c
index dca033bbf6..d55a996c5d 100644
--- a/epan/dissectors/packet-sdp.c
+++ b/epan/dissectors/packet-sdp.c
@@ -364,7 +364,7 @@ dissect_sdp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
tokenoffset = 2;
if (hf == hf_unknown)
tokenoffset = 0;
- string = ep_tvb_get_string(tvb, offset + tokenoffset,
+ string = tvb_get_ephemeral_string(tvb, offset + tokenoffset,
linelen - tokenoffset);
sub_ti = proto_tree_add_string_format(sdp_tree,hf,tvb, offset,
linelen, string,
@@ -602,7 +602,7 @@ dissect_sdp_connection_info(tvbuff_t *tvb, proto_item* ti,
return;
tokenlen = next_offset - offset;
/* Save connection address type */
- transport_info->connection_type = ep_tvb_get_string(tvb, offset, tokenlen);
+ transport_info->connection_type = tvb_get_ephemeral_string(tvb, offset, tokenlen);
proto_tree_add_item(sdp_connection_info_tree,
@@ -617,11 +617,11 @@ dissect_sdp_connection_info(tvbuff_t *tvb, proto_item* ti,
tokenlen = -1; /* end of tvbuff */
/* Save connection address */
transport_info->connection_address =
- ep_tvb_get_string(tvb, offset, tvb_length_remaining(tvb, offset));
+ tvb_get_ephemeral_string(tvb, offset, tvb_length_remaining(tvb, offset));
} else {
tokenlen = next_offset - offset;
/* Save connection address */
- transport_info->connection_address = ep_tvb_get_string(tvb, offset, tokenlen);
+ transport_info->connection_address = tvb_get_ephemeral_string(tvb, offset, tokenlen);
}
proto_tree_add_item(sdp_connection_info_tree,
@@ -827,7 +827,7 @@ static void dissect_sdp_session_attribute(tvbuff_t *tvb, proto_item * ti){
hf_session_attribute_field,
tvb, offset, tokenlen, FALSE);
- field_name = ep_tvb_get_string(tvb, offset, tokenlen);
+ field_name = tvb_get_ephemeral_string(tvb, offset, tokenlen);
offset = next_offset + 1;
@@ -901,7 +901,7 @@ dissect_sdp_media(tvbuff_t *tvb, proto_item *ti,
if(next_offset != -1){
tokenlen = next_offset - offset;
/* Save port info */
- transport_info->media_port[transport_info->media_count] = ep_tvb_get_string(tvb, offset, tokenlen);
+ transport_info->media_port[transport_info->media_count] = tvb_get_ephemeral_string(tvb, offset, tokenlen);
proto_tree_add_item(sdp_media_tree, hf_media_port, tvb,
offset, tokenlen, FALSE);
@@ -920,7 +920,7 @@ dissect_sdp_media(tvbuff_t *tvb, proto_item *ti,
return;
tokenlen = next_offset - offset;
/* Save port info */
- transport_info->media_port[transport_info->media_count] = ep_tvb_get_string(tvb, offset, tokenlen);
+ transport_info->media_port[transport_info->media_count] = tvb_get_ephemeral_string(tvb, offset, tokenlen);
/* XXX Remember Port */
proto_tree_add_item(sdp_media_tree, hf_media_port, tvb,
@@ -935,7 +935,7 @@ dissect_sdp_media(tvbuff_t *tvb, proto_item *ti,
tokenlen = next_offset - offset;
/* Save port protocol */
- transport_info->media_proto[transport_info->media_count] = ep_tvb_get_string(tvb, offset, tokenlen);
+ transport_info->media_proto[transport_info->media_count] = tvb_get_ephemeral_string(tvb, offset, tokenlen);
/* XXX Remember Protocol */
proto_tree_add_item(sdp_media_tree, hf_media_proto, tvb,
@@ -955,7 +955,7 @@ dissect_sdp_media(tvbuff_t *tvb, proto_item *ti,
if (strcmp(transport_info->media_proto[transport_info->media_count],
"RTP/AVP") == 0) {
- media_format = ep_tvb_get_string(tvb, offset, tokenlen);
+ media_format = tvb_get_ephemeral_string(tvb, offset, tokenlen);
proto_tree_add_string(sdp_media_tree, hf_media_format, tvb, offset,
tokenlen, val_to_str(atol(media_format), rtp_payload_type_vals, "%u"));
index = transport_info->media[transport_info->media_count].pt_count;
@@ -1008,7 +1008,7 @@ static void dissect_sdp_media_attribute(tvbuff_t *tvb, proto_item * ti, transpor
hf_media_attribute_field,
tvb, offset, tokenlen, FALSE);
- field_name = ep_tvb_get_string(tvb, offset, tokenlen);
+ field_name = tvb_get_ephemeral_string(tvb, offset, tokenlen);
offset = next_offset + 1;
proto_tree_add_item(sdp_media_attribute_tree,
@@ -1026,7 +1026,7 @@ static void dissect_sdp_media_attribute(tvbuff_t *tvb, proto_item * ti, transpor
tokenlen = next_offset - offset;
- payload_type = ep_tvb_get_string(tvb, offset, tokenlen);
+ payload_type = tvb_get_ephemeral_string(tvb, offset, tokenlen);
offset = next_offset + 1;
diff --git a/epan/dissectors/packet-sip.c b/epan/dissectors/packet-sip.c
index 2fc1014564..52184705f9 100644
--- a/epan/dissectors/packet-sip.c
+++ b/epan/dissectors/packet-sip.c
@@ -1066,7 +1066,7 @@ dissect_sip_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
col_add_fstr(pinfo->cinfo, COL_INFO, "Status: %s",
tvb_format_text(tvb, SIP2_HDR_LEN + 1, linelen - SIP2_HDR_LEN - 1));
}
- stat_info->reason_phrase = ep_tvb_get_string(tvb, SIP2_HDR_LEN + 5, linelen - (SIP2_HDR_LEN + 5));
+ stat_info->reason_phrase = tvb_get_ephemeral_string(tvb, SIP2_HDR_LEN + 5, linelen - (SIP2_HDR_LEN + 5));
break;
case OTHER_LINE:
@@ -1185,7 +1185,7 @@ dissect_sip_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
* Fetch the value.
*/
value_len = line_end_offset - value_offset;
- value = ep_tvb_get_string(tvb, value_offset,
+ value = tvb_get_ephemeral_string(tvb, value_offset,
value_len);
/*
@@ -1245,7 +1245,7 @@ separator_found:
proto_tree_add_item(sip_element_tree, hf_sip_to_addr, tvb, parameter_offset,
parameter_len, FALSE);
/*info for the tap for voip_calls.c*/
- stat_info->tap_to_addr=ep_tvb_get_string(tvb, parameter_offset, parameter_len);
+ stat_info->tap_to_addr=tvb_get_ephemeral_string(tvb, parameter_offset, parameter_len);
parameter_offset = parameter_end_offset + 1;
/*
@@ -1280,7 +1280,7 @@ separator_found:
proto_tree_add_item(sip_element_tree, hf_sip_to_addr, tvb, parameter_offset,
parameter_len, FALSE);
/*info for the tap for voip_calls.c*/
- stat_info->tap_to_addr=ep_tvb_get_string(tvb, parameter_offset, parameter_len);
+ stat_info->tap_to_addr=tvb_get_ephemeral_string(tvb, parameter_offset, parameter_len);
offset = parameter_end_offset;
}
/* Find parameter tag if present.
@@ -1355,7 +1355,7 @@ separator_found2:
dfilter_store_sip_from_addr(tvb, sip_element_tree,
parameter_offset, parameter_len);
/*info for the tap for voip_calls.c*/
- stat_info->tap_from_addr=ep_tvb_get_string(tvb, parameter_offset, parameter_len);
+ stat_info->tap_from_addr=tvb_get_ephemeral_string(tvb, parameter_offset, parameter_len);
parameter_offset = parameter_end_offset + 1;
/*
* URI parameters ?
@@ -1389,7 +1389,7 @@ separator_found2:
proto_tree_add_item(sip_element_tree, hf_sip_from_addr, tvb, parameter_offset,
parameter_len, FALSE);
/*info for the tap for voip_calls.c*/
- stat_info->tap_from_addr=ep_tvb_get_string(tvb, parameter_offset, parameter_len);
+ stat_info->tap_from_addr=tvb_get_ephemeral_string(tvb, parameter_offset, parameter_len);
offset = parameter_end_offset;
}
/* Find parameter tag if present.
@@ -1524,10 +1524,10 @@ separator_found2:
parameter_offset++;
content_type_len = semi_colon_offset - value_offset;
content_type_parameter_str_len = line_end_offset - parameter_offset;
- content_type_parameter_str = ep_tvb_get_string(tvb, parameter_offset,
+ content_type_parameter_str = tvb_get_ephemeral_string(tvb, parameter_offset,
content_type_parameter_str_len);
}
- media_type_str = ep_tvb_get_string(tvb, value_offset, content_type_len);
+ media_type_str = tvb_get_ephemeral_string(tvb, value_offset, content_type_len);
#if GLIB_MAJOR_VERSION < 2
media_type_str_lower_case = ep_strdup(media_type_str);
g_strdown(media_type_str_lower_case);
@@ -1697,7 +1697,7 @@ dfilter_sip_request_line(tvbuff_t *tvb, proto_tree *tree, guint meth_len)
* We know we have the entire method; otherwise, "sip_parse_line()"
* would have returned OTHER_LINE.
*/
- string = ep_tvb_get_string(tvb, 0, meth_len);
+ string = tvb_get_ephemeral_string(tvb, 0, meth_len);
if (tree) {
proto_tree_add_string(tree, hf_Method, tvb, 0, meth_len, string);
}
diff --git a/epan/dissectors/packet-sipfrag.c b/epan/dissectors/packet-sipfrag.c
index b548ae5f49..d8f14a3de2 100644
--- a/epan/dissectors/packet-sipfrag.c
+++ b/epan/dissectors/packet-sipfrag.c
@@ -79,7 +79,7 @@ dissect_sipfrag(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* For now, add all lines as unparsed strings */
/* Extract & add the string. */
- string = ep_tvb_get_string(tvb, offset, linelen);
+ string = tvb_get_ephemeral_string(tvb, offset, linelen);
proto_tree_add_string_format(sipfrag_tree, hf_line,
tvb, offset,
linelen, string,
diff --git a/epan/dissectors/packet-slsk.c b/epan/dissectors/packet-slsk.c
index 0a8e99722f..0d6190aedc 100644
--- a/epan/dissectors/packet-slsk.c
+++ b/epan/dissectors/packet-slsk.c
@@ -977,7 +977,7 @@ static void dissect_slsk_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
offset += 4+len;
len = tvb_get_letohl(tvb, offset);
proto_tree_add_uint(slsk_tree, hf_slsk_string_length, tvb, offset, 4, len);
- str = ep_tvb_get_string(tvb, offset+4, len);
+ str = tvb_get_ephemeral_string(tvb, offset+4, len);
proto_tree_add_string_format(slsk_tree, hf_slsk_connection_type, tvb, offset+4, len, str,
"Connection Type: %s (Char: %s)", connection_type(str),
format_text(str, len));
@@ -997,7 +997,7 @@ static void dissect_slsk_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
offset += 4+len;
len = tvb_get_letohl(tvb, offset);
proto_tree_add_uint(slsk_tree, hf_slsk_string_length, tvb, offset, 4, len);
- str = ep_tvb_get_string(tvb, offset+4, len);
+ str = tvb_get_ephemeral_string(tvb, offset+4, len);
proto_tree_add_string_format(slsk_tree, hf_slsk_connection_type, tvb, offset+4, len, str,
"Connection Type: %s (Char: %s)", connection_type(str),
format_text(str, len));
@@ -2357,7 +2357,7 @@ static void dissect_slsk_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
offset += 4+len;
len = tvb_get_letohl(tvb, offset);
proto_tree_add_uint(slsk_tree, hf_slsk_string_length, tvb, offset, 4, len);
- str = ep_tvb_get_string(tvb, offset+4, len);
+ str = tvb_get_ephemeral_string(tvb, offset+4, len);
proto_tree_add_string_format(slsk_tree, hf_slsk_connection_type, tvb, offset+4, len, str,
"Connection Type: %s (Char: %s)", connection_type(str),
format_text(str, len));
diff --git a/epan/dissectors/packet-smb.c b/epan/dissectors/packet-smb.c
index a4400a9507..9140558b50 100644
--- a/epan/dissectors/packet-smb.c
+++ b/epan/dissectors/packet-smb.c
@@ -10273,7 +10273,7 @@ dissect_4_2_16_2(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree,
/* EA name */
- name = ep_tvb_get_string(tvb, offset, name_len);
+ name = tvb_get_ephemeral_string(tvb, offset, name_len);
proto_item_append_text(item, ": %s", format_text(name, strlen(name)));
CHECK_BYTE_COUNT_SUBR(name_len + 1);
diff --git a/epan/dissectors/packet-sna.c b/epan/dissectors/packet-sna.c
index a9f1f65dcb..7a29a2e758 100644
--- a/epan/dissectors/packet-sna.c
+++ b/epan/dissectors/packet-sna.c
@@ -2421,7 +2421,7 @@ dissect_control_0e(tvbuff_t *tvb, proto_tree *tree)
if (len <= 0)
return;
- buf = ep_tvb_get_string(tvb, 3, len);
+ buf = tvb_get_ephemeral_string(tvb, 3, len);
EBCDIC_to_ASCII(buf, len);
proto_tree_add_string(tree, hf_sna_control_0e_value, tvb, 3, len, buf);
}
diff --git a/epan/dissectors/packet-tacacs.c b/epan/dissectors/packet-tacacs.c
index e2098e8889..6e4f7cac7b 100644
--- a/epan/dissectors/packet-tacacs.c
+++ b/epan/dissectors/packet-tacacs.c
@@ -574,7 +574,7 @@ dissect_tacplus_body_authen_req_cont( tvbuff_t *tvb, proto_tree *tree )
val=tvb_get_ntohs( tvb, AUTHEN_C_USER_LEN_OFF );
proto_tree_add_text( tree, tvb, AUTHEN_C_USER_LEN_OFF, 2 , "User length: %d", val );
if( val ){
- buff=ep_tvb_get_string( tvb, var_off, val );
+ buff=tvb_get_ephemeral_string( tvb, var_off, val );
proto_tree_add_text( tree, tvb, var_off, val, "User: %s", buff );
var_off+=val;
}
@@ -611,7 +611,7 @@ dissect_tacplus_body_authen_rep( tvbuff_t *tvb, proto_tree *tree )
proto_tree_add_text( tree, tvb, AUTHEN_R_SRV_MSG_LEN_OFF, 2 ,
"Server message length: %d", val );
if( val ) {
- buff=ep_tvb_get_string(tvb, var_off, val );
+ buff=tvb_get_ephemeral_string(tvb, var_off, val );
proto_tree_add_text(tree, tvb, var_off, val, "Server message: %s", buff );
var_off+=val;
}
@@ -735,7 +735,7 @@ dissect_tacplus_body_acct_rep( tvbuff_t* tvb, proto_tree *tree )
proto_tree_add_text( tree, tvb, ACCT_R_SRV_MSG_LEN_OFF, 2 ,
"Server message length: %d", val );
if( val ) {
- buff=ep_tvb_get_string( tvb, var_off, val );
+ buff=tvb_get_ephemeral_string( tvb, var_off, val );
proto_tree_add_text( tree, tvb, var_off,
val, "Server message: %s", buff );
var_off+=val;
@@ -746,7 +746,7 @@ dissect_tacplus_body_acct_rep( tvbuff_t* tvb, proto_tree *tree )
proto_tree_add_text( tree, tvb, ACCT_R_DATA_LEN_OFF, 2 ,
"Data length: %d", val );
if( val ) {
- buff= ep_tvb_get_string( tvb, var_off, val );
+ buff= tvb_get_ephemeral_string( tvb, var_off, val );
proto_tree_add_text( tree, tvb, var_off,
val, "Data: %s", buff );
}
diff --git a/epan/dissectors/packet-tds.c b/epan/dissectors/packet-tds.c
index fc33d6e98c..bb8bd29beb 100644
--- a/epan/dissectors/packet-tds.c
+++ b/epan/dissectors/packet-tds.c
@@ -685,7 +685,7 @@ dissect_tds_query_packet(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree
if (is_unicode)
msg = ep_tvb_fake_unicode(tvb, offset, len/2, TRUE);
else
- msg = ep_tvb_get_string(tvb, offset, len);
+ msg = tvb_get_ephemeral_string(tvb, offset, len);
proto_tree_add_text(query_tree, tvb, offset, len, "Query: %s", msg);
offset += len;
@@ -704,7 +704,7 @@ dissect_tds5_lang_token(tvbuff_t *tvb, guint offset, guint len, proto_tree *tree
if (is_unicode)
msg = ep_tvb_fake_unicode(tvb, offset, (len)/2, TRUE);
else
- msg = ep_tvb_get_string(tvb, offset, len);
+ msg = tvb_get_ephemeral_string(tvb, offset, len);
proto_tree_add_text(tree, tvb, offset, len, "Language text: %s", msg);
}
@@ -869,7 +869,7 @@ dissect_tds7_login(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
val = ep_tvb_fake_unicode(tvb, offset2, len, TRUE);
len *= 2;
} else
- val = ep_tvb_get_string(tvb, offset2, len);
+ val = tvb_get_ephemeral_string(tvb, offset2, len);
proto_tree_add_text(login_tree, tvb, offset2, len, "%s: %s", val_to_str(i, login_field_names, "Unknown"), val);
}
else {
@@ -1167,7 +1167,7 @@ dissect_tds_env_chg(tvbuff_t *tvb, guint offset, guint token_sz,
new_len, TRUE);
new_len *= 2;
} else
- new_val = ep_tvb_get_string(tvb, string_offset, new_len);
+ new_val = tvb_get_ephemeral_string(tvb, string_offset, new_len);
proto_tree_add_text(tree, tvb, string_offset, new_len,
"New Value: %s", new_val);
}
@@ -1194,7 +1194,7 @@ dissect_tds_env_chg(tvbuff_t *tvb, guint offset, guint token_sz,
old_len, TRUE);
old_len *= 2;
} else
- old_val = ep_tvb_get_string(tvb, string_offset, old_len);
+ old_val = tvb_get_ephemeral_string(tvb, string_offset, old_len);
proto_tree_add_text(tree, tvb, string_offset, old_len,
"Old Value: %s", old_val);
}
@@ -1226,7 +1226,7 @@ dissect_tds_err_token(tvbuff_t *tvb, guint offset, guint token_sz _U_, proto_tre
msg = ep_tvb_fake_unicode(tvb, offset, msg_len, TRUE);
msg_len *= 2;
} else {
- msg = ep_tvb_get_string(tvb, offset, msg_len);
+ msg = tvb_get_ephemeral_string(tvb, offset, msg_len);
}
proto_tree_add_text(tree, tvb, offset, msg_len, "Error: %s", format_text(msg, strlen(msg)));
offset += msg_len;
@@ -1240,7 +1240,7 @@ dissect_tds_err_token(tvbuff_t *tvb, guint offset, guint token_sz _U_, proto_tre
msg = ep_tvb_fake_unicode(tvb, offset, srvr_len, TRUE);
srvr_len *=2;
} else {
- msg = ep_tvb_get_string(tvb, offset, srvr_len);
+ msg = tvb_get_ephemeral_string(tvb, offset, srvr_len);
}
proto_tree_add_text(tree, tvb, offset, srvr_len, "Server name: %s", msg);
offset += srvr_len;
@@ -1255,7 +1255,7 @@ dissect_tds_err_token(tvbuff_t *tvb, guint offset, guint token_sz _U_, proto_tre
msg = ep_tvb_fake_unicode(tvb, offset, proc_len, TRUE);
proc_len *=2;
} else {
- msg = ep_tvb_get_string(tvb, offset, proc_len);
+ msg = tvb_get_ephemeral_string(tvb, offset, proc_len);
}
proto_tree_add_text(tree, tvb, offset, proc_len, "Process name: %s", msg);
offset += proc_len;
@@ -1291,7 +1291,7 @@ dissect_tds_login_ack_token(tvbuff_t *tvb, guint offset, guint token_sz, proto_t
msg = ep_tvb_fake_unicode(tvb, offset, msg_len, TRUE);
msg_len *= 2;
} else {
- msg = ep_tvb_get_string(tvb, offset, msg_len);
+ msg = tvb_get_ephemeral_string(tvb, offset, msg_len);
}
proto_tree_add_text(tree, tvb, offset, msg_len, "Text: %s", format_text(msg, strlen(msg)));
offset += msg_len;
@@ -1402,7 +1402,7 @@ dissect_tds_rpc(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
len = tvb_get_guint8(tvb, offset);
proto_tree_add_text(tree, tvb, offset, 1, "RPC Name Length: %u", len);
offset += 1;
- val = ep_tvb_get_string(tvb, offset, len);
+ val = tvb_get_ephemeral_string(tvb, offset, len);
proto_tree_add_text(tree, tvb, offset, len, "RPC Name: %s", val);
offset += len;
break;
diff --git a/epan/dissectors/packet-telnet.c b/epan/dissectors/packet-telnet.c
index 5933765f22..5057bb1254 100644
--- a/epan/dissectors/packet-telnet.c
+++ b/epan/dissectors/packet-telnet.c
@@ -417,7 +417,7 @@ dissect_comport_subopt(packet_info *pinfo _U_, const char *optname, tvbuff_t *tv
if (len == 0) {
proto_tree_add_text(tree, tvb, offset, 1, "%s Requests Signature",source);
} else {
- guint8 *sig = ep_tvb_get_string(tvb, offset + 1, len);
+ guint8 *sig = tvb_get_ephemeral_string(tvb, offset + 1, len);
proto_tree_add_text(tree, tvb, offset, 1 + len, "%s Signature: %s",source, sig);
}
break;
diff --git a/epan/dissectors/packet-ucp.c b/epan/dissectors/packet-ucp.c
index b9dece1f81..11c4adc5bb 100644
--- a/epan/dissectors/packet-ucp.c
+++ b/epan/dissectors/packet-ucp.c
@@ -785,7 +785,7 @@ ucp_handle_int(proto_tree *tree, tvbuff_t *tvb, int field, int *offset)
tvb_ensure_bytes_exist(tvb, *offset, len + 1);
} else
len = idx - *offset;
- strval = ep_tvb_get_string(tvb, *offset, len);
+ strval = tvb_get_ephemeral_string(tvb, *offset, len);
if (len > 0) {
intval = atoi(strval);
proto_tree_add_uint(tree, field, tvb, *offset, idx, intval);
@@ -811,7 +811,7 @@ ucp_handle_time(proto_tree *tree, tvbuff_t *tvb, int field, int *offset)
tvb_ensure_bytes_exist(tvb, *offset, len + 1);
} else
len = idx - *offset;
- strval = ep_tvb_get_string(tvb, *offset, len);
+ strval = tvb_get_ephemeral_string(tvb, *offset, len);
if (len > 0) {
tval = ucp_mktime(strval);
tmptime.secs = tval;
diff --git a/epan/dissectors/packet-uma.c b/epan/dissectors/packet-uma.c
index b4a3f5aebf..1d4fa04f70 100644
--- a/epan/dissectors/packet-uma.c
+++ b/epan/dissectors/packet-uma.c
@@ -945,7 +945,7 @@ dissect_uma_IE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
break;
case 10: /* UNC SGW Fully Qualified Domain/Host Name */
if ( ie_len > 0){
- string = ep_tvb_get_string(tvb, ie_offset, ie_len);
+ string = tvb_get_ephemeral_string(tvb, ie_offset, ie_len);
proto_tree_add_string(urr_ie_tree, hf_uma_urr_FQDN, tvb, ie_offset, ie_len, string);
}else{
proto_tree_add_text(urr_ie_tree,tvb,offset,1,"FQDN not present");
@@ -1347,7 +1347,7 @@ dissect_uma_IE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
break;
case 98: /* UNC Fully Qualified Domain/Host Name */
if ( ie_len > 0){
- string = ep_tvb_get_string(tvb, ie_offset, ie_len);
+ string = tvb_get_ephemeral_string(tvb, ie_offset, ie_len);
proto_tree_add_string(urr_ie_tree, hf_uma_unc_FQDN, tvb, ie_offset, ie_len, string);
}else{
proto_tree_add_text(urr_ie_tree,tvb,offset,1,"UNC FQDN not present");
diff --git a/epan/dissectors/packet-vnc.c b/epan/dissectors/packet-vnc.c
index 3df246fb6c..5b9599a4bb 100644
--- a/epan/dissectors/packet-vnc.c
+++ b/epan/dissectors/packet-vnc.c
@@ -143,7 +143,7 @@ dissect_vnc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* this is a hideous first hack!!! */
if(tvb_length_remaining(tvb, offset) == 12) {
length = 12;
- version = ep_tvb_get_string(tvb, offset, length);
+ version = tvb_get_ephemeral_string(tvb, offset, length);
if(version[0] == 'R' && version[1] == 'F' && version[2] == 'B') {
/* remove trailing \n */
version[11] = '\0';
diff --git a/epan/dissectors/packet-wsp.c b/epan/dissectors/packet-wsp.c
index cdb518647d..c25938e268 100644
--- a/epan/dissectors/packet-wsp.c
+++ b/epan/dissectors/packet-wsp.c
@@ -5890,7 +5890,7 @@ add_post_variable (proto_tree *tree, tvbuff_t *tvb, guint variableStart, guint v
char *variableBuffer;
char *valueBuffer;
- variableBuffer = ep_tvb_get_string(tvb, variableStart, variableLength);
+ variableBuffer = tvb_get_ephemeral_string(tvb, variableStart, variableLength);
if (valueEnd < valueStart)
{
@@ -5903,7 +5903,7 @@ add_post_variable (proto_tree *tree, tvbuff_t *tvb, guint variableStart, guint v
valueLength = valueEnd-valueStart;
/* XXX - if this throws an exception, "variableBuffer"
is leaked */
- valueBuffer = ep_tvb_get_string(tvb, valueStart, valueLength);
+ valueBuffer = tvb_get_ephemeral_string(tvb, valueStart, valueLength);
}
/* Check for variables with no value */
diff --git a/epan/tvbuff.c b/epan/tvbuff.c
index 2c67d564db..19ec18ccc5 100644
--- a/epan/tvbuff.c
+++ b/epan/tvbuff.c
@@ -1805,7 +1805,7 @@ tvb_get_string(tvbuff_t *tvb, gint offset, gint length)
* after the current packet has been dissected.
*/
guint8 *
-ep_tvb_get_string(tvbuff_t *tvb, gint offset, gint length)
+tvb_get_ephemeral_string(tvbuff_t *tvb, gint offset, gint length)
{
const guint8 *ptr;
guint8 *strbuf = NULL;
diff --git a/epan/tvbuff.h b/epan/tvbuff.h
index ca367978fb..859c40365a 100644
--- a/epan/tvbuff.h
+++ b/epan/tvbuff.h
@@ -413,6 +413,7 @@ extern gchar * tvb_format_text(tvbuff_t *tvb, gint offset, gint size);
*/
extern gchar *tvb_format_stringzpad(tvbuff_t *tvb, gint offset, gint size);
+
/**
* Given a tvbuff, an offset, and a length, allocate a buffer big enough
* to hold a non-null-terminated string of that length at that offset,
@@ -420,13 +421,18 @@ extern gchar *tvb_format_stringzpad(tvbuff_t *tvb, gint offset, gint size);
* to the string.
*
* Throws an exception if the tvbuff ends before the string does.
+ *
+ * tvb_get_string() returns a string allocated by g_malloc() and therefore
+ * MUST be g_free() by the caller in order not to leak
+ * memory.
+ *
+ * tvb_get_ephemeral_string() returns a string that does not need to be freed,
+ * instead it will automatically be freed once the next
+ * packet is dissected.
*/
extern guint8 *tvb_get_string(tvbuff_t *tvb, gint offset, gint length);
-/* Same as above but the buffer returned from this function does not have to
- * be freed. It will be automatically freed after the packet is dissected.
- * Buffers allocated by this function are NOT persistent.
- */
-extern guint8 *ep_tvb_get_string(tvbuff_t *tvb, gint offset, gint length);
+extern guint8 *tvb_get_ephemeral_string(tvbuff_t *tvb, gint offset, gint length);
+
/**
* Given a tvbuff and an offset, with the offset assumed to refer to