[gvfs/gnome-3-22] network: Fix crashes when finalize



commit 51a797b048d60e82c9f83537ac408a30789ad8a4
Author: Ondrej Holy <oholy redhat com>
Date:   Fri Nov 18 14:27:24 2016 +0100

    network: Fix crashes when finalize
    
    SMB backend mount operation might be still running when finalize is called.
    Increase backend reference count when calling g_file_mount_enclosing_volume
    in order to be sure that finalize is called after the operation is done.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=712235

 daemon/gvfsbackendnetwork.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/daemon/gvfsbackendnetwork.c b/daemon/gvfsbackendnetwork.c
index 193fa32..f08144d 100644
--- a/daemon/gvfsbackendnetwork.c
+++ b/daemon/gvfsbackendnetwork.c
@@ -528,6 +528,7 @@ mount_smb_done_cb (GObject *object,
       g_object_unref (backend->mount_job);
     }  
   g_mutex_unlock (&backend->smb_mount_lock);
+  g_object_unref (backend);
 }
 
 static void
@@ -551,7 +552,7 @@ remount_smb (GVfsBackendNetwork *backend, GVfsJobMount *job)
   file = g_file_new_for_uri (workgroup);
 
   g_file_mount_enclosing_volume (file, G_MOUNT_MOUNT_NONE,
-                                 NULL, NULL, mount_smb_done_cb, backend);
+                                 NULL, NULL, mount_smb_done_cb, g_object_ref (backend));
   g_free (workgroup);
   g_object_unref (file);
 }


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