Fix memleaks found with AddressSanitizer/LeakSanitizer

Fixes:
Direct leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7eff8bcf46c8 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7eff897b484d in DeviceUserArgs::serialize() const sdrbase/device/deviceuserargs.cpp:43
    #2 0x7eff897f4904 in MainSettings::save() const sdrbase/settings/mainsettings.cpp:237
    #3 0x7eff8b578654 in MainWindow::closeEvent(QCloseEvent*) sdrgui/mainwindow.cpp:1749
    #4 0x7eff877a5dc7 in QWidget::event(QEvent*) (/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x1a5dc7) (BuildId: 983eca66d9695a1892aa796da4160d8d6f9b9ac4)

Direct leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7eff8bcf46c8 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7eff897b484d in DeviceUserArgs::serialize() const sdrbase/device/deviceuserargs.cpp:43
    #2 0x7eff897f4904 in MainSettings::save() const sdrbase/settings/mainsettings.cpp:237
    #3 0x7eff8b552c9a in MainWindow::~MainWindow() sdrgui/mainwindow.cpp:326
    #4 0x564e8b36e1e5 in runQtApplication app/main.cpp:212
    #5 0x564e8b36bab7 in main app/main.cpp:248
    #6 0x7eff862456c9 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
Daniele Forsi 2024-04-06 20:53:21 +02:00
rodzic fe84aa11f6
commit cde8f74435
1 zmienionych plików z 2 dodań i 2 usunięć

Wyświetl plik

@ -40,8 +40,8 @@ QByteArray DeviceUserArgs::serialize() const
{
SimpleSerializer s(1);
QByteArray data;
QDataStream *stream = new QDataStream(&data, QIODevice::WriteOnly);
*stream << m_argsByDevice;
QDataStream stream(&data, QIODevice::WriteOnly);
stream << m_argsByDevice;
s.writeBlob(1, data);
return s.final();
}