/**** ad-hoc ***/
if(radius_type == 31)
{
- str_val = tvb_get_string(tvb,offset+2,radius_len-2);
+ str_val = ep_tvb_get_string(tvb,offset+2,radius_len-2);
proto_tree_add_text(radius_tree, tvb, offset, radius_len,
"MSID: %s", str_val);
- g_free(str_val);
}
else if (radius_type == 46)
{
a11_airlink_types,"Unknown"));
break;
case ATTR_TYPE_STR:
- str_val = tvb_get_string(tvb,offset+radius_offset+2,attribute_len-2);
+ str_val = ep_tvb_get_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);
- g_free(str_val);
break;
case ATTR_TYPE_NULL:
break;
tp_ofs = nameoff +org_offset;
len = tvb_get_guint8(tvb, tp_ofs);
tp_ofs++;
- name = tvb_get_string(tvb, tp_ofs, len);
+ name = ep_tvb_get_string(tvb, tp_ofs, len);
return name;
}
offset += 2;
tp_ofs = nameoff +org_offset +4;
len16 = tvb_get_ntohs(tvb, tp_ofs);
tp_ofs += 2;
- name = tvb_get_string(tvb, tp_ofs, len16);
+ name = ep_tvb_get_string(tvb, tp_ofs, len16);
return name;
}
}
}
if (name) {
item = proto_tree_add_text(ptree, tvb, offset, size, "%s", name);
- g_free(name);
}
else {
item = proto_tree_add_text(ptree, tvb, offset, size, "line %d", i+1);
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 = tvb_get_string(tvb, offset, text_length);
+ text = ep_tvb_get_string(tvb, offset, text_length);
proto_tree_add_text(msg_tree, tvb, offset, text_length, "Text: %s", text); offset+=text_length;
offset = tvb->length;
gint string_len;
string_len = tvb_length(tvb);
- buf = tvb_get_string(tvb, 0, string_len);
+ buf = ep_tvb_get_string(tvb, 0, string_len);
proto_item_set_text(ti, "Value: %s", format_text(buf, string_len));
- g_free(buf);
return string_len;
}
offset += 2;
/* The actual message */
- buf = tvb_get_string(tvb, offset, blocklen - 4 );
+ buf = ep_tvb_get_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,
blocklen-4,
FALSE);
offset += tvb_length_remaining(tvb, offset);
- g_free(buf);
}
return offset;
a_bigbuf[0] = Dgt_msid.out[(oct & 0xf0) >> 4];
curr_offset++;
- poctets = tvb_get_string(tvb, curr_offset, len - (curr_offset - offset));
+ poctets = ep_tvb_get_string(tvb, curr_offset, len - (curr_offset - offset));
my_dgt_tbcd_unpack(&a_bigbuf[1], poctets, len - (curr_offset - offset),
&Dgt_msid);
- g_free(poctets);
proto_tree_add_string_format(tree,
((oct & 0x07) == 1) ? hf_ansi_a_min : hf_ansi_a_imsi,
curr_offset++;
}
- poctets = tvb_get_string(tvb, curr_offset, len - (curr_offset - offset));
+ poctets = ep_tvb_get_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),
curr_offset += len - (curr_offset - offset);
sprintf(add_string, " - (%s)", poctets);
- g_free(poctets);
EXTRANEOUS_DATA_CHECK(len, curr_offset - offset);
curr_offset++;
- poctets = tvb_get_string(tvb, curr_offset, len - (curr_offset - offset));
+ poctets = ep_tvb_get_string(tvb, curr_offset, len - (curr_offset - offset));
my_dgt_tbcd_unpack(a_bigbuf, poctets, len - (curr_offset - offset),
&Dgt_tbcd);
- g_free(poctets);
proto_tree_add_string_format(tree, hf_ansi_a_cld_party_bcd_num,
tvb, curr_offset, len - (curr_offset - offset),
curr_offset++;
}
- poctets = tvb_get_string(tvb, curr_offset, len - (curr_offset - offset));
+ poctets = ep_tvb_get_string(tvb, curr_offset, len - (curr_offset - offset));
my_dgt_tbcd_unpack(a_bigbuf, poctets, len - (curr_offset - offset),
&Dgt_tbcd);
- g_free(poctets);
proto_tree_add_string_format(tree, hf_ansi_a_clg_party_bcd_num,
tvb, curr_offset, len - (curr_offset - offset),
curr_offset++;
- poctets = tvb_get_string(tvb, curr_offset, len - (curr_offset - offset));
+ poctets = ep_tvb_get_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),
curr_offset += len - (curr_offset - offset);
sprintf(add_string, " - (%s)", poctets);
- g_free(poctets);
EXTRANEOUS_DATA_CHECK(len, curr_offset - offset);
* code, we could perhaps avoid allocating and freeing
* this string buffer.
*/
- tmp = tvb_get_string(tvb, offset, len);
+ tmp = ep_tvb_get_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);
proto_tree_add_text(subtree, tvb, offset-1, 1, "Length: %d", len);
proto_tree_add_text(subtree, tvb, offset, len, "Data: %s", tmp);
- g_free(tmp);
}
offset += len;
break;
case 4: /* DNS */
if (len > 2) {
- tmp = tvb_get_string(tvb, ofs +2, len -2);
+ tmp = ep_tvb_get_string(tvb, ofs +2, len -2);
ti = proto_tree_add_text(adr_tree, tvb, ofs, len, "dns %s", tmp);
- g_free(tmp);
break;
}
/* else fall to default malformed record */
ofs = utf_ofs;
ulen = tvb_get_ntohs(tvb, ofs);
- tmp = tvb_get_string(tvb, ofs + 2, ulen);
+ tmp = ep_tvb_get_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);
ofs += 2;
proto_tree_add_string(sub_tree, hf_asp_server_utf8_name, tvb, ofs, ulen, tmp);
ofs += ulen;
- g_free(tmp);
}
/* FIXME: offset is not updated */
return offset;
* other dissectors need to handle various
* character encodings.
*/
- str_val = tvb_get_string(tvb, offset, l);
+ str_val = ep_tvb_get_string(tvb, offset, l);
/** this decoding may be not correct for multi-byte characters, Lka */
switch (character_set) {
case 0x00: /* ANSI_X3.4 */
break;
}
proto_tree_add_text(tree, tvb, offset, l, "%s'%s'", LABEL(label), out);
- g_free(str_val);
lvt-=l;
offset+=l;
} while (lvt > 0);
case 4: /* DNS */
case 5: /* SSH tunnel */
if (len > 2) {
- tmp = tvb_get_string(tvb, ofs +2, len -2);
+ tmp = ep_tvb_get_string(tvb, ofs +2, len -2);
ti = proto_tree_add_text(adr_tree, tvb, ofs, len, "%s: %s",
(type==4)?"dns":"ssh tunnel", tmp);
- g_free(tmp);
break;
}
else {
ofs = utf_ofs;
ulen = tvb_get_ntohs(tvb, ofs);
- tmp = tvb_get_string(tvb, ofs + 2, ulen);
+ tmp = ep_tvb_get_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);
ofs += 2;
proto_tree_add_string(sub_tree, hf_dsi_utf8_server_name, tvb, ofs, ulen, tmp);
ofs += ulen;
- g_free(tmp);
}
return offset;
}
if (check_col(pinfo->cinfo, COL_INFO)) {
- value = tvb_get_string(tvb, value_offset, value_len);
+ value = ep_tvb_get_string(tvb, value_offset, value_len);
col_add_fstr(pinfo->cinfo, COL_INFO, "%s", (char *)g_datalist_get_data(&msg_types, value));
- g_free(value);
}
/* In the interest of speed, if "tree" is NULL, don't do any work not
packet. */
return TRUE;
}
- tag_str = tvb_get_string(tvb, field_offset, tag_len);
+ tag_str = ep_tvb_get_string(tvb, field_offset, tag_len);
tag = atoi(tag_str);
- g_free(tag_str);
- value = tvb_get_string(tvb, value_offset, value_len);
+ value = ep_tvb_get_string(tvb, value_offset, value_len);
switch(tag) {
case 1: /* Field Account */
field_offset = offset = ctrla_offset + 1;
ctrla_offset = tvb_find_guint8(tvb, field_offset, -1, 0x01);
- g_free(value);
tag_str = NULL;
}
}
name_len = tvb_get_guint8 (tvb, offset);
if (name_len < 0x20) {
- apn = tvb_get_string(tvb, offset + 1, length - 1);
+ apn = ep_tvb_get_string(tvb, offset + 1, length - 1);
for (;;) {
if (name_len >= length - 1) break;
tmp = name_len;
apn[tmp] = '.';
}
} else
- apn = tvb_get_string(tvb, offset, length);
+ apn = ep_tvb_get_string(tvb, offset, length);
proto_tree_add_string (tree, hf_gtp_apn, tvb, offset, length, apn);
- g_free(apn);
}
}
* This function dissects an "Ice string", adds hf to "tree" and returns consumed
* bytes in "*consumed", if errors "*consumed" is -1.
*
- * Memory for the new string "*dest" is obtained with g_malloc, and caller
- * is responsible for it (i.e. don't forget to g_free() it if you pass *dest != NULL).
* "*dest" is a null terminated version of the dissected Ice string.
*/
static void dissect_ice_string(proto_tree *tree, int hf_icep,
if ( Size != 0 ) {
- s = tvb_get_string(tvb, offset, Size);
+ s = ep_tvb_get_string(tvb, offset, Size);
if (tree && add_hf)
proto_tree_add_string(tree, hf_icep, tvb, offset, Size, s);
} else {
if ( dest != NULL )
*dest = s;
- else
- g_free(s);
offset += Size;
(*consumed) += Size;
if ( consumed_key == -1 ) {
(*consumed) = -1;
- g_free(str_key);
return;
}
if ( consumed_value == -1 ) {
(*consumed) = -1;
- g_free(str_value);
- g_free(str_key);
return;
}
str_key, str_value);
}
- g_free(str_value);
- g_free(str_key);
}
}
col_append_fstr(mypinfo->cinfo, COL_INFO, " %s.%s()",
namestr, opstr);
}
- g_free(opstr);
- g_free(namestr);
opstr = NULL;
namestr = NULL;
}
error:
(*total_consumed) = -1;
- if (namestr)
- g_free(namestr);
- if (opstr)
- g_free(opstr);
}