diff options
author | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2005-07-22 22:45:36 +0000 |
---|---|---|
committer | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2005-07-22 22:45:36 +0000 |
commit | 336b300d033c7dc9d40027e028f30d627415880c (patch) | |
tree | 46d8e1cfc5402d51aa9fa20533b399aebf6bdb4b /epan | |
parent | e1c6d9ac3d081221af8b16b56561b7b21ff3de35 (diff) |
replace one tvb_memdup() with a tvb_memcpy() using an automatically freed emem buffer
svn path=/trunk/; revision=14998
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-armagetronad.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/epan/dissectors/packet-armagetronad.c b/epan/dissectors/packet-armagetronad.c index 194e618723..a09dfa5f16 100644 --- a/epan/dissectors/packet-armagetronad.c +++ b/epan/dissectors/packet-armagetronad.c @@ -30,6 +30,7 @@ #include <glib.h> #include <epan/packet.h> +#include <epan/emem.h> /* Initialize the protocol and registered fields */ static int proto_armagetronad = -1; @@ -142,8 +143,9 @@ add_message_data(tvbuff_t * tvb, gint offset, guint16 data_len, { guint16 *data = NULL; - if (tree) - data = (guint16 *) tvb_memdup(tvb, offset, data_len); + if (tree) { + data = (guint16*)tvb_memcpy(tvb, ep_alloc(data_len), offset, data_len); + } if (data) { guint16 *ptr, *end = &data[data_len / 2]; @@ -167,7 +169,6 @@ add_message_data(tvbuff_t * tvb, gint offset, guint16 data_len, proto_tree_add_string(tree, hf_armagetronad_data, tvb, offset, data_len, (gchar *) data); - g_free(data); data = NULL; } else proto_tree_add_item(tree, hf_armagetronad_data, tvb, offset, |