GDesktopAppInfo: fix leaks

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
This commit is contained in:
Dan Winship 2012-08-24 17:06:46 -04:00
parent 4e7031f073
commit fa58cef826

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