https://bugs.kde.org/show_bug.cgi?id=490788
--- Comment #30 from Nicolas Fella <[email protected]> --- ==5614==ERROR: AddressSanitizer: heap-use-after-free on address 0x7bbc246373c0 at pc 0x7f4c2c5ea4e6 bp 0x7fff3e29daf0 sp 0x7fff3e29dae8 READ of size 8 at 0x7bbc246373c0 thread T0 #0 0x7f4c2c5ea4e5 in QCA::Botan::MemoryRegion<unsigned char>::deallocate(unsigned char*, unsigned int) const /home/nico/kde-qtdev/src/qca/src/botantools/botan/botan/secmem.h:188 #1 0x7f4c2c5e900e in QCA::Botan::MemoryRegion<unsigned char>::~MemoryRegion() /home/nico/kde-qtdev/src/qca/src/botantools/botan/botan/secmem.h:157 #2 0x7f4c2c5e7847 in QCA::Botan::SecureVector<unsigned char>::~SecureVector() /home/nico/kde-qtdev/src/qca/src/botantools/botan/botan/secmem.h:299 #3 0x7f4c2c5e2a4c in ai_delete /home/nico/kde-qtdev/src/qca/src/qca_tools.cpp:335 #4 0x7f4c2c5e79bb in QCA::MemoryRegion::Private::~Private() /home/nico/kde-qtdev/src/qca/src/qca_tools.cpp:370 #5 0x7f4c2c5ea5a9 in QSharedDataPointer<QCA::MemoryRegion::Private>::destroy(QCA::MemoryRegion::Private*) /home/nico/kde-qtdev/usr/include/QtCore/qshareddata.h:214 #6 0x7f4c2c5e90b6 in QSharedDataPointer<QCA::MemoryRegion::Private>::~QSharedDataPointer() /home/nico/kde-qtdev/usr/include/QtCore/qshareddata.h:170 #7 0x7f4c2c5e2ec3 in QCA::MemoryRegion::~MemoryRegion() /home/nico/kde-qtdev/src/qca/src/qca_tools.cpp:418 #8 0x7f4c2c5e3ebd in QCA::SecureArray::~SecureArray() /home/nico/kde-qtdev/src/qca/src/qca_tools.cpp:597 #9 0x0000004d5c51 in QCA::SymmetricKey::~SymmetricKey() /home/nico/kde-qtdev/usr/include/Qca-qt6/QtCrypto/qca_core.h:1263 #10 0x000000530a48 in KWalletFreedesktopSessionAlgorithmDhAes::~KWalletFreedesktopSessionAlgorithmDhAes() /home/nico/kde-qtdev/src/kwallet/src/runtime/ksecretd/kwalletfreedesktopsession.h:74 #11 0x000000530a7f in KWalletFreedesktopSessionAlgorithmDhAes::~KWalletFreedesktopSessionAlgorithmDhAes() /home/nico/kde-qtdev/src/kwallet/src/runtime/ksecretd/kwalletfreedesktopsession.h:74 #12 0x0000004eb3a2 in std::default_delete<KWalletFreedesktopSessionAlgorithm>::operator()(KWalletFreedesktopSessionAlgorithm*) const /usr/include/c++/15/bits/unique_ptr.h:92 #13 0x0000004e1850 in std::unique_ptr<KWalletFreedesktopSessionAlgorithm, std::default_delete<KWalletFreedesktopSessionAlgorithm> >::~unique_ptr() /usr/include/c++/15/bits/unique_ptr.h:398 #14 0x00000052fd1a in KWalletFreedesktopSession::~KWalletFreedesktopSession() /home/nico/kde-qtdev/src/kwallet/src/runtime/ksecretd/kwalletfreedesktopsession.h:29 #15 0x00000052fd51 in KWalletFreedesktopSession::~KWalletFreedesktopSession() /home/nico/kde-qtdev/src/kwallet/src/runtime/ksecretd/kwalletfreedesktopsession.h:29 #16 0x0000004ec618 in std::default_delete<KWalletFreedesktopSession>::operator()(KWalletFreedesktopSession*) const /usr/include/c++/15/bits/unique_ptr.h:92 #17 0x0000004e31aa in std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> >::~unique_ptr() /usr/include/c++/15/bits/unique_ptr.h:398 #18 0x00000050bc2b in std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > >::~pair() /usr/include/c++/15/bits/stl_pair.h:302 #19 0x00000050bc52 in void std::destroy_at<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > >(std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > >*) /usr/include/c++/15/bits/stl_construct.h:88 #20 0x0000004faa91 in void std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > > > >::destroy<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > >(std::allocator<std::_Rb_tree_node<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > > >&, std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > >*) /usr/include/c++/15/bits/alloc_traits.h:698 #21 0x0000004faa91 in std::_Rb_tree<QString, std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > >, std::_Select1st<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > >, std::less<QString>, std::allocator<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > > >::_M_destroy_node(std::_Rb_tree_node<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > >*) /usr/include/c++/15/bits/stl_tree.h:1265 #22 0x0000004f0056 in std::_Rb_tree<QString, std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > >, std::_Select1st<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > >, std::less<QString>, std::allocator<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > > >::_M_drop_node(std::_Rb_tree_node<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > >*) /usr/include/c++/15/bits/stl_tree.h:1273 #23 0x0000004e88d4 in std::_Rb_tree<QString, std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > >, std::_Select1st<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > >, std::less<QString>, std::allocator<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > > >::_M_erase(std::_Rb_tree_node<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > >*) /usr/include/c++/15/bits/stl_tree.h:2590 #24 0x0000004de59f in std::_Rb_tree<QString, std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > >, std::_Select1st<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > >, std::less<QString>, std::allocator<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > > >::~_Rb_tree() /usr/include/c++/15/bits/stl_tree.h:1609 #25 0x0000004d8cad in std::map<QString, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> >, std::less<QString>, std::allocator<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > > >::~map() /usr/include/c++/15/bits/stl_map.h:337 #26 0x0000004bb7fa in KWalletFreedesktopService::~KWalletFreedesktopService() /home/nico/kde-qtdev/src/kwallet/src/runtime/ksecretd/kwalletfreedesktopservice.cpp:182 #27 0x0000004bb831 in KWalletFreedesktopService::~KWalletFreedesktopService() /home/nico/kde-qtdev/src/kwallet/src/runtime/ksecretd/kwalletfreedesktopservice.cpp:182 #28 0x00000045e63a in std::default_delete<KWalletFreedesktopService>::operator()(KWalletFreedesktopService*) const /usr/include/c++/15/bits/unique_ptr.h:92 #29 0x000000455936 in std::unique_ptr<KWalletFreedesktopService, std::default_delete<KWalletFreedesktopService> >::~unique_ptr() (/home/nico/kde-qtdev/usr/bin/ksecretd+0x455936) (BuildId: e48cea6af469c5e121eedaf01d039e0091c7c733) #30 0x00000042eee6 in KSecretD::~KSecretD() /home/nico/kde-qtdev/src/kwallet/src/runtime/ksecretd/ksecretd.cpp:177 #31 0x000000424083 in main /home/nico/kde-qtdev/src/kwallet/src/runtime/ksecretd/main.cpp:208 #32 0x7f4c2662b2fa in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 #33 0x7f4c2662b3ca in __libc_start_main_impl ../csu/libc-start.c:360 #34 0x0000004208a4 in _start ../sysdeps/x86_64/start.S:115 0x7bbc246373c0 is located 0 bytes inside of 80-byte region [0x7bbc246373c0,0x7bbc24637410) freed by thread T0 here: #0 0x7f4c2d92369b in operator delete(void*, unsigned long) ../../../../libsanitizer/asan/asan_new_delete.cpp:155 #1 0x7f4c2c7eed93 in QCA::Botan::Locking_Allocator::~Locking_Allocator() /home/nico/kde-qtdev/src/qca/src/botantools/botan/botan/defalloc.h:65 #2 0x7f4c2c807f17 in QCA::Botan::Library_State::~Library_State() /home/nico/kde-qtdev/src/qca/src/botantools/botan/libstate.cpp:469 #3 0x7f4c2c8065c2 in QCA::Botan::set_global_state(QCA::Botan::Library_State*) /home/nico/kde-qtdev/src/qca/src/botantools/botan/libstate.cpp:96 #4 0x7f4c2c5e130e in QCA::botan_deinit() /home/nico/kde-qtdev/src/qca/src/qca_tools.cpp:103 #5 0x7f4c2c685b6c in QCA::deinit() /home/nico/kde-qtdev/src/qca/src/qca_core.cpp:267 #6 0x7f4c2c68d882 in QCA::Initializer::~Initializer() /home/nico/kde-qtdev/src/qca/src/qca_core.cpp:897 #7 0x0000004bb7ca in KWalletFreedesktopService::~KWalletFreedesktopService() /home/nico/kde-qtdev/src/kwallet/src/runtime/ksecretd/kwalletfreedesktopservice.cpp:182 #8 0x0000004bb831 in KWalletFreedesktopService::~KWalletFreedesktopService() /home/nico/kde-qtdev/src/kwallet/src/runtime/ksecretd/kwalletfreedesktopservice.cpp:182 #9 0x00000045e63a in std::default_delete<KWalletFreedesktopService>::operator()(KWalletFreedesktopService*) const /usr/include/c++/15/bits/unique_ptr.h:92 #10 0x000000455936 in std::unique_ptr<KWalletFreedesktopService, std::default_delete<KWalletFreedesktopService> >::~unique_ptr() (/home/nico/kde-qtdev/usr/bin/ksecretd+0x455936) (BuildId: e48cea6af469c5e121eedaf01d039e0091c7c733) #11 0x00000042eee6 in KSecretD::~KSecretD() /home/nico/kde-qtdev/src/kwallet/src/runtime/ksecretd/ksecretd.cpp:177 #12 0x000000424083 in main /home/nico/kde-qtdev/src/kwallet/src/runtime/ksecretd/main.cpp:208 #13 0x7f4c2662b2fa in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 previously allocated by thread T0 here: #0 0x7f4c2d92273b in operator new(unsigned long) ../../../../libsanitizer/asan/asan_new_delete.cpp:86 #1 0x7f4c2c81e7b2 in QCA::Botan::Builtin_Modules::allocators() const /home/nico/kde-qtdev/src/qca/src/botantools/botan/modules.cpp:205 #2 0x7f4c2c807466 in QCA::Botan::Library_State::load(QCA::Botan::Modules&) /home/nico/kde-qtdev/src/qca/src/botantools/botan/libstate.cpp:393 #3 0x7f4c2c5e0f71 in QCA::botan_init(int, bool) /home/nico/kde-qtdev/src/qca/src/qca_tools.cpp:81 #4 0x7f4c2c68585f in QCA::init(QCA::MemoryMode, int) /home/nico/kde-qtdev/src/qca/src/qca_core.cpp:216 #5 0x7f4c2c68d86e in QCA::Initializer::Initializer(QCA::MemoryMode, int) /home/nico/kde-qtdev/src/qca/src/qca_core.cpp:892 #6 0x0000004b9c8f in KWalletFreedesktopService::KWalletFreedesktopService(KSecretD*) /home/nico/kde-qtdev/src/kwallet/src/runtime/ksecretd/kwalletfreedesktopservice.cpp:141 #7 0x00000042e72b in KSecretD::KSecretD() /home/nico/kde-qtdev/src/kwallet/src/runtime/ksecretd/ksecretd.cpp:166 #8 0x000000423afe in main /home/nico/kde-qtdev/src/kwallet/src/runtime/ksecretd/main.cpp:193 #9 0x7f4c2662b2fa in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 -- You are receiving this mail because: You are watching all bug changes.
