gio: fix two more g_task_return_error_if_cancelled() leaks
authorDan Winship <danw@gnome.org>
Tue, 18 Mar 2014 13:56:23 +0000 (09:56 -0400)
committerDan Winship <danw@gnome.org>
Sun, 23 Mar 2014 19:00:03 +0000 (15:00 -0400)
https://bugzilla.gnome.org/show_bug.cgi?id=726611

gio/gunixmount.c
gio/gunixvolume.c

index a42614f..2ec8e5c 100644 (file)
@@ -283,7 +283,10 @@ eject_unmount_do_cb (gpointer user_data)
   argv = g_task_get_task_data (task);
 
   if (g_task_return_error_if_cancelled (task))
-    return G_SOURCE_REMOVE;
+    {
+      g_object_unref (task);
+      return G_SOURCE_REMOVE;
+    }
 
   subprocess = g_subprocess_newv (argv, G_SUBPROCESS_FLAGS_STDOUT_SILENCE | G_SUBPROCESS_FLAGS_STDERR_PIPE, &error);
   g_assert_no_error (error);
index 1c12505..981f703 100644 (file)
@@ -309,7 +309,10 @@ eject_mount_do (GVolume              *volume,
   task = g_task_new (volume, cancellable, callback, user_data);
 
   if (g_task_return_error_if_cancelled (task))
-    return;
+    {
+      g_object_unref (task);
+      return;
+    }
 
   subprocess = g_subprocess_newv (argv, G_SUBPROCESS_FLAGS_STDOUT_SILENCE | G_SUBPROCESS_FLAGS_STDERR_PIPE, &error);
   g_assert_no_error (error);