summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndrej Holy <oholy@redhat.com>2015-01-26 14:38:20 +0100
committerOndrej Holy <oholy@redhat.com>2015-01-27 16:56:33 +0100
commitdc8db939d67d464b5721ed34f505b0a96a2e8802 (patch)
treeb78456533492667b83dd59c8947215b2868715a7
parent4729b3d25650e9031dcba88ce6ed69bf4a48adce (diff)
downloadgvfs-dc8db939d67d464b5721ed34f505b0a96a2e8802.tar.gz
mtp: fix query_fs_info crash when file not found
The function isn't returned after g_vfs_job_failed_literal, therefore g_vfs_job_succeeded is executed and it fails on assert. https://bugzilla.gnome.org/show_bug.cgi?id=743580
-rw-r--r--daemon/gvfsbackendmtp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/daemon/gvfsbackendmtp.c b/daemon/gvfsbackendmtp.c
index 1e836a89..03661165 100644
--- a/daemon/gvfsbackendmtp.c
+++ b/daemon/gvfsbackendmtp.c
@@ -1455,6 +1455,7 @@ do_query_fs_info (GVfsBackend *backend,
g_vfs_job_failed_literal (G_VFS_JOB (job),
G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
_("File not found"));
+ goto exit;
}
LIBMTP_devicestorage_t *storage;
@@ -1467,6 +1468,7 @@ do_query_fs_info (GVfsBackend *backend,
g_vfs_job_succeeded (G_VFS_JOB (job));
+ exit:
g_strfreev (elements);
g_mutex_unlock (&G_VFS_BACKEND_MTP (backend)->mutex);