aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-umts_rlc.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-umts_rlc.c')
-rw-r--r--epan/dissectors/packet-umts_rlc.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/epan/dissectors/packet-umts_rlc.c b/epan/dissectors/packet-umts_rlc.c
index fec5c31445..a89c524379 100644
--- a/epan/dissectors/packet-umts_rlc.c
+++ b/epan/dissectors/packet-umts_rlc.c
@@ -470,8 +470,7 @@ rlc_frag_assign_data(struct rlc_frag *frag, tvbuff_t *tvb,
guint16 offset, guint16 length)
{
frag->len = length;
- frag->data = (guint8 *)g_malloc(length);
- tvb_memcpy(tvb, frag->data, offset, length);
+ frag->data = (guint8 *)tvb_memdup(wmem_file_scope(), tvb, offset, length);
return 0;
}
@@ -848,7 +847,7 @@ reassemble_data(struct rlc_channel *ch, struct rlc_sdu *sdu, struct rlc_frag *fr
temp = sdu->frags;
while (temp && ((offs + temp->len) <= sdu->len)) {
memcpy(sdu->data + offs, temp->data, temp->len);
- g_free(temp->data);
+ wmem_free(wmem_file_scope(), temp->data);
temp->data = NULL;
/* mark this fragment in reassembled table */
g_hash_table_insert(reassembled_table, temp, sdu);