fix gfileenumerator/gdbusobjectmanagerservice/gdbusauth of memory leak
This commit is contained in:
parent
d56c273e23
commit
3760dec08b
27
backport-gdbusauth-fix-error-leak.patch
Normal file
27
backport-gdbusauth-fix-error-leak.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From 2b29495bcb59ba00bec808c509112dae6e019fd7 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Catanzaro <mcatanzaro@gnome.org>
|
||||
Date: Wed, 31 Mar 2021 14:12:39 -0500
|
||||
Subject: [PATCH] gdbusauth: fix error leak
|
||||
|
||||
local_error is leaked in the G_IO_ERROR_NOT_SUPPORTED case. Found by
|
||||
Coverity.
|
||||
|
||||
Conflict:NA
|
||||
Reference:https://github.com/GNOME/glib/commit/2b29495bcb59ba00bec808c509112dae6e019fd7
|
||||
|
||||
---
|
||||
gio/gdbusauth.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/gio/gdbusauth.c b/gio/gdbusauth.c
|
||||
index c430f0cf03..534dca2d19 100644
|
||||
--- a/gio/gdbusauth.c
|
||||
+++ b/gio/gdbusauth.c
|
||||
@@ -1007,6 +1007,7 @@ _g_dbus_auth_run_server (GDBusAuth *auth,
|
||||
g_propagate_error (error, local_error);
|
||||
goto out;
|
||||
}
|
||||
+ g_clear_error (&local_error);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -0,0 +1,43 @@
|
||||
From 719484a5754cca036d123ae4c2ae3d150bacef32 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Catanzaro <mcatanzaro@gnome.org>
|
||||
Date: Wed, 31 Mar 2021 14:23:13 -0500
|
||||
Subject: [PATCH] gdbusobjectmanagerservice: fix leak in error path
|
||||
|
||||
If the third g_return_val_if_fail() is hit, then we leak
|
||||
orig_object_path. There is no reason we need to strdup it here.
|
||||
|
||||
Found by Coverity.
|
||||
|
||||
Conflict:NA
|
||||
Reference:https://github.com/GNOME/glib/commit/719484a5754cca036d123ae4c2ae3d150bacef32
|
||||
---
|
||||
gio/gdbusobjectmanagerserver.c | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/gio/gdbusobjectmanagerserver.c b/gio/gdbusobjectmanagerserver.c
|
||||
index 39f4ed5006..0a0cea84ab 100644
|
||||
--- a/gio/gdbusobjectmanagerserver.c
|
||||
+++ b/gio/gdbusobjectmanagerserver.c
|
||||
@@ -565,12 +565,12 @@ void
|
||||
g_dbus_object_manager_server_export_uniquely (GDBusObjectManagerServer *manager,
|
||||
GDBusObjectSkeleton *object)
|
||||
{
|
||||
- gchar *orig_object_path;
|
||||
+ const gchar *orig_object_path;
|
||||
gchar *object_path;
|
||||
guint count;
|
||||
gboolean modified;
|
||||
|
||||
- orig_object_path = g_strdup (g_dbus_object_get_object_path (G_DBUS_OBJECT (object)));
|
||||
+ orig_object_path = g_dbus_object_get_object_path (G_DBUS_OBJECT (object));
|
||||
|
||||
g_return_if_fail (G_IS_DBUS_OBJECT_MANAGER_SERVER (manager));
|
||||
g_return_if_fail (G_IS_DBUS_OBJECT (object));
|
||||
@@ -602,7 +602,6 @@ g_dbus_object_manager_server_export_uniquely (GDBusObjectManagerServer *manager,
|
||||
g_dbus_object_skeleton_set_object_path (G_DBUS_OBJECT_SKELETON (object), object_path);
|
||||
|
||||
g_free (object_path);
|
||||
- g_free (orig_object_path);
|
||||
|
||||
}
|
||||
|
||||
29
backport-gfileenumerator-fix-leak-in-error-path.patch
Normal file
29
backport-gfileenumerator-fix-leak-in-error-path.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From 8bfc2998135ee9c4460520febb3af720c61438a5 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Catanzaro <mcatanzaro@gnome.org>
|
||||
Date: Thu, 1 Apr 2021 14:13:19 -0500
|
||||
Subject: [PATCH] gfileenumerator: fix leak in error path
|
||||
|
||||
Found by Coverity.
|
||||
|
||||
Conflict:NA
|
||||
Reference:https://github.com/GNOME/glib/commit/8bfc2998135ee9c4460520febb3af720c61438a5
|
||||
---
|
||||
gio/gfileenumerator.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gio/gfileenumerator.c b/gio/gfileenumerator.c
|
||||
index ac2e4eb980..1f9bc24ebe 100644
|
||||
--- a/gio/gfileenumerator.c
|
||||
+++ b/gio/gfileenumerator.c
|
||||
@@ -787,7 +787,10 @@ next_files_thread (GTask *task,
|
||||
}
|
||||
|
||||
if (error)
|
||||
- g_task_return_error (task, error);
|
||||
+ {
|
||||
+ g_list_free_full (files, g_object_unref);
|
||||
+ g_task_return_error (task, error);
|
||||
+ }
|
||||
else
|
||||
g_task_return_pointer (task, files, (GDestroyNotify)next_async_op_free);
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
Name: glib2
|
||||
Version: 2.68.1
|
||||
Release: 10
|
||||
Release: 11
|
||||
Summary: The core library that forms the basis for projects such as GTK+ and GNOME
|
||||
License: LGPLv2+
|
||||
URL: http://www.gtk.org
|
||||
@ -8,6 +8,9 @@ Source0: http://download.gnome.org/sources/glib/2.68/glib-%{version}.tar.
|
||||
|
||||
Patch6000: backport-correctly-use-3-parameters-for-clise-range.patch
|
||||
Patch6001: backport-fix-a-memory-leak.patch
|
||||
Patch6002: backport-gfileenumerator-fix-leak-in-error-path.patch
|
||||
Patch6003: backport-gdbusobjectmanagerservice-fix-leak-in-error-path.patch
|
||||
Patch6004: backport-gdbusauth-fix-error-leak.patch
|
||||
|
||||
BuildRequires: chrpath gcc gcc-c++ gettext perl-interpreter
|
||||
BUildRequires: glibc-devel libattr-devel libselinux-devel meson
|
||||
@ -175,6 +178,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Apr 6 2022 hanhui <hanhui15@h-partners.com> - 2.68.1-11
|
||||
- DESC:fix gfileenumerator/gdbusobjectmanagerservice/gdbusauth of memory leak
|
||||
|
||||
* Fri Mar 11 2022 weijin deng <weijin.deng@turbolinux.com.cn> - 2.68.1-10
|
||||
- Type:bugfix
|
||||
- DESC:solve glib2 enable "glib2_debug" option causes gnome-calendar reopen
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user