diff options
author | Ondrej Holy <oholy@redhat.com> | 2016-11-18 14:27:24 +0100 |
---|---|---|
committer | Ondrej Holy <oholy@redhat.com> | 2016-11-18 14:27:24 +0100 |
commit | 5f7a36ad93ecc6c221f96320c7bf8520bd80fa4e (patch) | |
tree | 9d1f2529dbdf821731ac79f44912388f0a224bce | |
parent | ae33e475d0bbd717a9422790d8dc607469d2708d (diff) | |
download | gvfs-5f7a36ad93ecc6c221f96320c7bf8520bd80fa4e.tar.gz |
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
-rw-r--r-- | daemon/gvfsbackendnetwork.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/daemon/gvfsbackendnetwork.c b/daemon/gvfsbackendnetwork.c index bbda0bba..fc6cca47 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); } |