From fe436e255dc378189bc414a8bbb9cdfc44e52783 Mon Sep 17 00:00:00 2001
From: Thomas Habets <thomas@habets.se>
Date: Wed, 12 Aug 2020 12:19:48 +0100
Subject: digital/protocol_formatter_async: Remove manual memory management

---
 gr-digital/lib/protocol_formatter_async_impl.cc | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

(limited to 'gr-digital/lib/protocol_formatter_async_impl.cc')

diff --git a/gr-digital/lib/protocol_formatter_async_impl.cc b/gr-digital/lib/protocol_formatter_async_impl.cc
index 0ea768a02c..2b6a742057 100644
--- a/gr-digital/lib/protocol_formatter_async_impl.cc
+++ b/gr-digital/lib/protocol_formatter_async_impl.cc
@@ -15,7 +15,7 @@
 #include "protocol_formatter_async_impl.h"
 #include <gnuradio/io_signature.h>
 #include <stdio.h>
-#include <volk/volk.h>
+#include <volk/volk_alloc.hh>
 
 namespace gr {
 namespace digital {
@@ -58,11 +58,9 @@ void protocol_formatter_async_impl::append(pmt::pmt_t msg)
     const uint8_t* bytes_in = pmt::u8vector_elements(input, pkt_len);
 
     // Pad the payload with 0's
-    uint8_t* payload =
-        (uint8_t*)volk_malloc(pkt_len * sizeof(uint8_t), volk_get_alignment());
-    memcpy(payload, bytes_in, pkt_len * sizeof(uint8_t));
-    output = pmt::init_u8vector(pkt_len, payload);
-    volk_free(payload);
+    volk::vector<uint8_t> payload(pkt_len);
+    memcpy(payload.data(), bytes_in, pkt_len * sizeof(uint8_t));
+    output = pmt::init_u8vector(pkt_len, payload.data());
 
     // Build the header from the input, metadata, and format
     d_format->format(pkt_len, bytes_in, header, meta);
-- 
cgit v1.2.3