fix memory leak in test

Signed-off-by: kerongw <wangkerong@h-partners.com>
(cherry picked from commit 9d61eae969b2b3c1397194c13ca67852e30009bd)
This commit is contained in:
kerongw 2022-10-22 07:58:14 +00:00 committed by openeuler-sync-bot
parent f3b3ff362c
commit b829fc4cd4
3 changed files with 84 additions and 1 deletions

View File

@ -1,12 +1,15 @@
Name: at-spi2-atk
Version: 2.38.0
Release: 1
Release: 2
Summary: GTK+ module for the Assistive Technology Service
License: LGPLv2+
URL: https://www.freedesktop.org/wiki/Accessibility/AT-SPI2/
Source0: https://github.com/GNOME/at-spi2-atk/archive/AT_SPI2_ATK_2_38_0.tar.gz
Patch6000: backport-fix-test-memory-leak.patch
Patch6001: backport-also-fix-ref-leak-in-try_get_root.patch
BuildRequires: gtk2-devel dbus-devel dbus-glib-devel gcc
BuildRequires: libxml2-devel gettext glib2-devel meson
BuildRequires: atk-devel >= 2.29.2
@ -59,6 +62,9 @@ Requires: %{name} = %{version}-%{release}
%doc README
%changelog
* Sat Oct 22 2022 wangkerong <wangkerong@h-partners.com> - 2.38.0-2
- fix memory leak in test
* Tue Jan 28 2020 yanglu <yanglu60@huawei.com> - 2.38.0-1
- Version update

View File

@ -0,0 +1,33 @@
From 65b22d16e5b81544672c8acf01f0a0388e1192a5 Mon Sep 17 00:00:00 2001
From: Mike Gorse <mgorse@suse.com>
Date: Wed, 16 Dec 2020 08:52:30 -0600
Subject: [PATCH] tests: also fix ref leak in try_get_root()
---
tests/atk_test_util.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/tests/atk_test_util.c b/tests/atk_test_util.c
index 23735230..366725c4 100644
--- a/tests/atk_test_util.c
+++ b/tests/atk_test_util.c
@@ -62,13 +62,16 @@ static AtspiAccessible *try_get_root_obj (AtspiAccessible *obj)
for (i = 0; i < child_count; i++) {
AtspiAccessible *child = atspi_accessible_get_child_at_index (obj, i, NULL);
- if (child && name = atspi_accessible_get_name (child, NULL)) {
+ if (!child)
+ continue;
+ if ((name = atspi_accessible_get_name (child, NULL)) != NULL) {
if (!strcmp (name, "root_object")) {
g_free(name);
return child;
}
g_free(name);
}
+ g_object_unref (child);
}
return NULL;
--
GitLab

View File

@ -0,0 +1,44 @@
From 87c898bcbde8452a349b0d472b850a0d7277c446 Mon Sep 17 00:00:00 2001
From: Shinwoo Kim <cinoo.kim@samsung.com>
Date: Tue, 15 Dec 2020 11:50:49 +0900
Subject: [PATCH] tests: fix memory leak
The return value of atspi_accessible_get_name should be released after using it.
---
tests/atk_test_util.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/tests/atk_test_util.c b/tests/atk_test_util.c
index 3e3c08a2..23735230 100644
--- a/tests/atk_test_util.c
+++ b/tests/atk_test_util.c
@@ -52,6 +52,7 @@ run_app (const char *file_name)
static AtspiAccessible *try_get_root_obj (AtspiAccessible *obj)
{
+ gchar *name;
int i;
gint child_count = atspi_accessible_get_child_count (obj, NULL);
@@ -59,10 +60,15 @@ static AtspiAccessible *try_get_root_obj (AtspiAccessible *obj)
return NULL;
}
- for (i=0; i<child_count; i++) {
- AtspiAccessible *child = atspi_accessible_get_child_at_index (obj,i, NULL);
- if (child && !strcmp (atspi_accessible_get_name (child, NULL), "root_object"))
- return child;
+ for (i = 0; i < child_count; i++) {
+ AtspiAccessible *child = atspi_accessible_get_child_at_index (obj, i, NULL);
+ if (child && name = atspi_accessible_get_name (child, NULL)) {
+ if (!strcmp (name, "root_object")) {
+ g_free(name);
+ return child;
+ }
+ g_free(name);
+ }
}
return NULL;
--
GitLab