From f52d371726b98ca552629f2c7741b8d332700548 Mon Sep 17 00:00:00 2001 From: Daniele Forsi Date: Sun, 7 Apr 2024 13:10:20 +0200 Subject: [PATCH] Fix memleaks found with AddressSanitizer/LeakSanitizer Found with: ASAN_OPTIONS="detect_odr_violation=1,strip_path_prefix=$(pwd)/" build/sdrangel Fixes: Direct leak of 176096 byte(s) in 5503 object(s) allocated from: #0 0x7f3a464f46c8 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95 #1 0x7f3a44009219 in Airline::Init::Init() sdrbase/util/airlines.cpp:5559 #2 0x7f3a43dc797d in _sub_I_65535_0.0 (build/lib/libsdrbase.so+0x3c797d) (BuildId: fb568b705538a6e506ee23027626f4366b25aa50) #3 0x7f3a46c6ce3d in call_init elf/dl-init.c:74 #4 0x7f3a46c6ce3d in call_init elf/dl-init.c:26 --- sdrbase/util/airlines.cpp | 5 +++++ sdrbase/util/airlines.h | 1 + 2 files changed, 6 insertions(+) diff --git a/sdrbase/util/airlines.cpp b/sdrbase/util/airlines.cpp index 75fe7fc16..1a3f3dd2f 100644 --- a/sdrbase/util/airlines.cpp +++ b/sdrbase/util/airlines.cpp @@ -5560,3 +5560,8 @@ Airline::Init::Init() s += 4; } } + +Airline::Init::~Init() +{ + qDeleteAll(m_icaoHash); +} diff --git a/sdrbase/util/airlines.h b/sdrbase/util/airlines.h index 7eed494f8..34ac5890b 100644 --- a/sdrbase/util/airlines.h +++ b/sdrbase/util/airlines.h @@ -55,6 +55,7 @@ private: friend struct Init; struct Init { Init(); + ~Init(); static const char *m_airlines[]; }; static Init m_init;