!15 [sync] PR-14: 【轻量级 PR】:fix memory leak in test
From: @openeuler-sync-bot Reviewed-by: @t_feng Signed-off-by: @t_feng
This commit is contained in:
commit
01ebb9d950
@ -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
|
||||
|
||||
|
||||
33
backport-also-fix-ref-leak-in-try_get_root.patch
Normal file
33
backport-also-fix-ref-leak-in-try_get_root.patch
Normal 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
|
||||
44
backport-fix-test-memory-leak.patch
Normal file
44
backport-fix-test-memory-leak.patch
Normal 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
|
||||
Loading…
x
Reference in New Issue
Block a user