From 696af48e7f245bc85f3c62cae496b35882c01b2c Mon Sep 17 00:00:00 2001 From: Vasil Velichkov Date: Fri, 22 Oct 2021 14:20:49 +0300 Subject: [PATCH] runtime: Fix alloc-dealloc-mismatch in host_buffer ERROR: AddressSanitizer: alloc-dealloc-mismatch (operator new [] vs operator delete) on 0x631000028800 #0 0x7f87c88129d7 in operator delete(void*, unsigned long) (/lib64/libasan.so.6+0xad9d7) #1 0x7f87c5378c57 in std::default_delete::operator()(char*) const /usr/include/c++/10/bits/unique_ptr.h:85 #2 0x7f87c5378c57 in std::unique_ptr >::~unique_ptr() /usr/include/c++/10/bits/unique_ptr.h:361 #3 0x7f87c5378c57 in gr::host_buffer::~host_buffer() /home/user/src/gnuradio/gnuradio-runtime/lib/host_buffer.cc:65 #4 0x7f87c5384654 in gr::host_buffer::~host_buffer() /home/user/src/gnuradio/gnuradio-runtime/lib/host_buffer.cc:65 0x631000028800 is located 0 bytes inside of 65536-byte region [0x631000028800,0x631000038800) allocated by thread T0 here: #0 0x7f87c8811cb7 in operator new[](unsigned long) (/lib64/libasan.so.6+0xaccb7) #1 0x7f87c5377a7a in gr::host_buffer::do_allocate_buffer(unsigned long, unsigned long) /home/user/src/gnuradio/gnuradio-runtime/lib/host_buffer.cc:123 #2 0x7f87c56deebf (/home/user/src/gnuradio/build/gnuradio-runtime/lib/libgnuradio-runtime.so.3.10.0git+0x3475ebf) Signed-off-by: Vasil Velichkov --- gnuradio-runtime/include/gnuradio/host_buffer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnuradio-runtime/include/gnuradio/host_buffer.h b/gnuradio-runtime/include/gnuradio/host_buffer.h index a99519bfa99..61096ffbbff 100644 --- a/gnuradio-runtime/include/gnuradio/host_buffer.h +++ b/gnuradio-runtime/include/gnuradio/host_buffer.h @@ -95,7 +95,7 @@ class GR_RUNTIME_API host_buffer : public buffer_single_mapped private: // This is the simulated device buffer - std::unique_ptr d_device_buf; + std::unique_ptr d_device_buf; char* d_device_base; /*!