GDesktopAppInfo: fix leaks
authorDan Winship <danw@gnome.org>
Fri, 24 Aug 2012 21:06:46 +0000 (17:06 -0400)
committerDan Winship <danw@gnome.org>
Mon, 3 Sep 2012 12:36:10 +0000 (08:36 -0400)
g_desktop_app_info_ensure_saved() was leaking the file contents.

_g_desktop_app_info_launch_uris_internal() was leaking the session bus
on error.

https://bugzilla.gnome.org/show_bug.cgi?id=682560

gio/gdesktopappinfo.c

index cde2d4a..1bac191 100644 (file)
@@ -1373,12 +1373,12 @@ _g_desktop_app_info_launch_uris_internal (GAppInfo                   *appinfo,
        * the connection if we were the initial owner.
        */
       g_dbus_connection_flush (session_bus, NULL, NULL, NULL);
-      g_object_unref (session_bus);
     }
 
   completed = TRUE;
 
  out:
+  g_clear_object (&session_bus);
   g_strfreev (argv);
   g_strfreev (envp);
 
@@ -2078,6 +2078,7 @@ g_desktop_app_info_ensure_saved (GDesktopAppInfo  *info,
   close (fd);
   
   res = g_file_set_contents (filename, data, data_size, error);
+  g_free (data);
   if (!res)
     {
       g_free (desktop_id);