From 719484a5754cca036d123ae4c2ae3d150bacef32 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro 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. --- gio/gdbusobjectmanagerserver.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gio/gdbusobjectmanagerserver.c b/gio/gdbusobjectmanagerserver.c index 39f4ed500..0a0cea84a 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); }