[glib/mcatanzaro/coverity: 4/5] gdbusobjectmanagerservice: fix leak in error path




commit be60df3ca4850b9fe4004c265a11fb267847c837
Author: Michael Catanzaro <mcatanzaro gnome org>
Date:   Wed Mar 31 14:23:13 2021 -0500

    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);
 
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]