From: Wonsik Jung Date: Fri, 29 Mar 2024 02:26:41 +0000 (+0900) Subject: Fix memory leak for at-spi event. X-Git-Tag: accepted/tizen/unified/20240329.230546~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F93%2F308693%2F1;p=platform%2Fcore%2Fuifw%2Faurum.git Fix memory leak for at-spi event. This patch serves to address potential memory leaks and input parameter exception issues. Change-Id: Ica681deeef809892ee00b202a1d96153dd191352 --- diff --git a/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc b/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc index 44fb227..d0b66ba 100644 --- a/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc +++ b/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc @@ -283,8 +283,18 @@ void AtspiAccessibleWatcher::processCallback(char *type, char *name, char *pkg) void AtspiAccessibleWatcher::onAtspiEvents(AtspiEvent *event, void *watcher) { - if (!event->source) + if ((!event) || (!event->source)) { + if(event) + { + g_boxed_free(ATSPI_TYPE_EVENT, event); + } + return; + } + + if (!watcher) + { + g_boxed_free(ATSPI_TYPE_EVENT, event); return; } @@ -316,11 +326,13 @@ void AtspiAccessibleWatcher::onAtspiEvents(AtspiEvent *event, void *watcher) } if (name) free(name); + g_boxed_free(ATSPI_TYPE_EVENT, event); return; } else if (isIdle == IdleEventState::IDLE_LISTEN_DONE && !strncmp(event->type, "window:post-render", 18)) { if (name) free(name); + g_boxed_free(ATSPI_TYPE_EVENT, event); return; } @@ -352,6 +364,7 @@ void AtspiAccessibleWatcher::onAtspiEvents(AtspiEvent *event, void *watcher) } if (name) free(name); if (pkg) free(pkg); + g_boxed_free(ATSPI_TYPE_EVENT, event); } void AtspiAccessibleWatcher::onObjectDefunct(AtspiAccessible *node)