Fix memleaks found with AddressSanitizer/LeakSanitizer

Found with:
ASAN_OPTIONS="detect_odr_violation=1,strip_path_prefix=$(pwd)/" build/sdrangel

Fixes:
Direct leak of 245448 byte(s) in 3409 object(s) allocated from:
    #0 0x7f28936f46b8 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f2890d3ccf6 in NavAid::readXML(QString const&) sdrangel/sdrbase/util/openaip.cpp:230
    #2 0x7f2890d3f882 in OpenAIP::readNavAids(QString const&) sdrangel/sdrbase/util/openaip.cpp:672
    #3 0x7f2890d3f6d0 in OpenAIP::readNavAids() sdrangel/sdrbase/util/openaip.cpp:664
    #4 0x7f2890d3fc06 in OpenAIP::getNavAids() sdrangel/sdrbase/util/openaip.cpp:695
    #5 0x7f285f9468c7 in MapGUI::addNavAids() sdrangel/plugins/feature/map/mapgui.cpp:1064
    #6 0x7f285f8bde60 in MapGUI::MapGUI(PluginAPI*, FeatureUISet*, Feature*, QWidget*) sdrangel/plugins/feature/map/mapgui.cpp:367
    #7 0x7f285f936a9c in MapGUI::create(PluginAPI*, FeatureUISet*, Feature*) sdrangel/plugins/feature/map/mapgui.cpp:66
    #8 0x7f285f8b57d5 in MapPlugin::createFeatureGUI(FeatureUISet*, Feature*) const sdrangel/plugins/feature/map/mapplugin.cpp:72
    #9 0x7f2892f416c2 in FeatureUISet::loadFeatureSetSettings(FeatureSetPreset const*, PluginAPI*, WebAPIAdapterInterface*, QList<Workspace*>*, Workspace*) sdrangel/sdrgui/feature/featureuiset.cpp:185
    #10 0x7f2892be9b41 in MainWindow::loadConfiguration(Configuration const*, bool) sdrangel/sdrgui/mainwindow.cpp:1503
    #11 0x7f2892b30e3e in MainWindow::MainWindow(qtwebapp::LoggerWithFile*, MainParser const&, QWidget*) sdrangel/sdrgui/mainwindow.cpp:257
    #12 0x55d986075bad in runQtApplication sdrangel/app/main.cpp:196
    #13 0x55d9860764a3 in main sdrangel/app/main.cpp:248
    #14 0x7f288d6456c9 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
Daniele Forsi 2024-05-01 10:42:23 +02:00
rodzic 9f880c513c
commit decdf50b48
1 zmienionych plików z 1 dodań i 0 usunięć

Wyświetl plik

@ -414,6 +414,7 @@ MapGUI::~MapGUI()
delete m_giro;
qDeleteAll(*m_beacons);
delete m_beacons;
qDeleteAll(*m_navAids);
qDeleteAll(*m_airportInfo);
delete ui;
}