aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-rtps.c
diff options
context:
space:
mode:
authorkrj <krj@f5534014-38df-0310-8fa8-9805f1628bb7>2009-09-20 08:06:20 +0000
committerkrj <krj@f5534014-38df-0310-8fa8-9805f1628bb7>2009-09-20 08:06:20 +0000
commit246855694f14cd06bc6d3d72c7cdb2d58b174e14 (patch)
treed1ab4a1336620368122d04e6d44b97954bd4c170 /epan/dissectors/packet-rtps.c
parent18182627a2b09b37e377f4148a6b00d567ee55b6 (diff)
Use tvb_get_ephemeral_string() to avoid memleak.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@29994 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-rtps.c')
-rw-r--r--epan/dissectors/packet-rtps.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/epan/dissectors/packet-rtps.c b/epan/dissectors/packet-rtps.c
index 677f35e576..cc7934b642 100644
--- a/epan/dissectors/packet-rtps.c
+++ b/epan/dissectors/packet-rtps.c
@@ -2230,7 +2230,7 @@ static gint rtps_util_add_typecode(proto_tree *tree,
offset += 4;
/* Name */
- member_name = tvb_get_string(tvb, offset, member_name_len);
+ member_name = tvb_get_ephemeral_string(tvb, offset, member_name_len);
offset += member_name_len;
/* is Pointer ? */
@@ -2272,7 +2272,6 @@ static gint rtps_util_add_typecode(proto_tree *tree,
-1,
NULL,
ndds_40_hack);
- g_free(member_name);
}
/* Finally prints the name of the struct (if provided) */
g_strlcpy(type_name, "}", 40);
@@ -2351,7 +2350,7 @@ static gint rtps_util_add_typecode(proto_tree *tree,
offset += 4;
/* struct name */
- struct_name = tvb_get_string(tvb, offset, struct_name_len);
+ struct_name = tvb_get_ephemeral_string(tvb, offset, struct_name_len);
offset += struct_name_len;
@@ -2364,7 +2363,6 @@ static gint rtps_util_add_typecode(proto_tree *tree,
if (seq_max_len != -1) {
/* We're dissecting a sequence of struct, bypass the seq definition */
g_snprintf(type_name, 40, "%s", struct_name);
- g_free(struct_name);
break;
}
/* Prints it */
@@ -2376,7 +2374,6 @@ static gint rtps_util_add_typecode(proto_tree *tree,
indent_string,
typecode_name,
struct_name);
- g_free(struct_name);
/* PAD align */
LONG_ALIGN(offset);
@@ -2403,7 +2400,7 @@ static gint rtps_util_add_typecode(proto_tree *tree,
offset += 4;
/* Name */
- member_name = tvb_get_string(tvb, offset, member_name_len);
+ member_name = tvb_get_ephemeral_string(tvb, offset, member_name_len);
offset += member_name_len;
if (tk_id == RTI_CDR_TK_ENUM) {
@@ -2451,8 +2448,6 @@ static gint rtps_util_add_typecode(proto_tree *tree,
NULL,
ndds_40_hack);
}
-
- g_free(member_name);
}
/* Finally prints the name of the struct (if provided) */
g_strlcpy(type_name, "}", 40);
@@ -2562,10 +2557,9 @@ static gint rtps_util_add_typecode(proto_tree *tree,
LONG_ALIGN(offset);
alias_name_length = NEXT_guint32(tvb, offset, little_endian);
offset += 4;
- alias_name = tvb_get_string(tvb, offset, alias_name_length);
+ alias_name = tvb_get_ephemeral_string(tvb, offset, alias_name_length);
offset += alias_name_length;
g_strlcpy(type_name, alias_name, 40);
- g_free(alias_name);
break;
}
@@ -2592,7 +2586,7 @@ static gint rtps_util_add_typecode(proto_tree *tree,
offset += 4;
/* value name */
- value_name = tvb_get_string(tvb, offset, value_name_len);
+ value_name = tvb_get_ephemeral_string(tvb, offset, value_name_len);
offset += value_name_len;
g_snprintf(type_name, 40, "valuetype %s", value_name);