From 276f8a333691c728dd0714c35b1af9c0dcbd300d Mon Sep 17 00:00:00 2001 From: Lukasz Oleksak Date: Fri, 2 Jul 2021 18:01:26 +0200 Subject: [PATCH] [ATSPI][SVACE] Fixes use of v variable after it was freed by eldbus_service_interface_unregister() Change-Id: I44d89ab5532243ba79d212f0cb6ddd13289b34a8 --- .../dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.cpp b/automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.cpp index d59df19..9011f2f 100644 --- a/automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.cpp +++ b/automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.cpp @@ -666,9 +666,11 @@ struct DefaultDBusWrapper : public DBusWrapper { DBUS_DEBUG( "registering interface %p (%d)", v, fallback ? 1 : 0 ); destructors.push_back([=]() { DBUS_DEBUG( "unregistering interface %p", v ); + { + std::lock_guard< std::mutex > lock( globalEntriesMutex ); + globalEntries.erase( v ); + } eldbus_service_interface_unregister( v ); - std::lock_guard< std::mutex > lock( globalEntriesMutex ); - globalEntries.erase( v ); }); } } -- 2.7.4