aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/dissectors/packet-aeron.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/epan/dissectors/packet-aeron.c b/epan/dissectors/packet-aeron.c
index 735c805fe1..e508c26ea6 100644
--- a/epan/dissectors/packet-aeron.c
+++ b/epan/dissectors/packet-aeron.c
@@ -881,10 +881,8 @@ static aeron_conversation_info_t * aeron_setup_conversation_info(const packet_in
guint8 * addr1;
guint8 * addr2;
- addr1 = (guint8 *) wmem_alloc(wmem_packet_scope(), (size_t) addr_len);
- addr2 = (guint8 *) wmem_alloc(wmem_packet_scope(), (size_t) addr_len);
- memcpy((void *) addr1, (void *) dst_addr, (size_t) addr_len);
- memcpy((void *) addr2, (void *) dst_addr, (size_t) addr_len);
+ addr1 = (guint8 *) wmem_memdup(wmem_packet_scope(), (const void *) dst_addr, (size_t) addr_len);
+ addr2 = (guint8 *) wmem_memdup(wmem_packet_scope(), (const void *) dst_addr, (size_t) addr_len);
if ((dst_addr[addr_len - 1] & 0x1) != 0)
{
/* Address is odd, so it's the data group (in addr2). Increment the last byte of addr1 for the control group. */
@@ -938,10 +936,8 @@ static aeron_conversation_info_t * aeron_setup_conversation_info(const packet_in
guint8 * addr1;
guint8 * addr2;
- addr1 = (guint8 *) wmem_alloc(wmem_packet_scope(), (size_t) addr_len);
- addr2 = (guint8 *) wmem_alloc(wmem_packet_scope(), (size_t) addr_len);
- memcpy((void *) addr1, (void *) dst_addr, (size_t) addr_len);
- memcpy((void *) addr2, (void *) dst_addr, (size_t) addr_len);
+ addr1 = (guint8 *) wmem_memdup(wmem_packet_scope(), (const void *) dst_addr, (size_t) addr_len);
+ addr2 = (guint8 *) wmem_memdup(wmem_packet_scope(), (const void *) dst_addr, (size_t) addr_len);
if ((dst_addr[addr_len - 1] & 0x1) != 0)
{
/* Address is odd, so it's the data group (in addr2). Increment the last byte of addr1 for the control group. */