summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndrej Holy <oholy@redhat.com>2013-11-28 16:19:35 +0100
committerOndrej Holy <oholy@redhat.com>2013-11-29 13:24:39 +0100
commit6b54d05ea00a363e570101e355917cc12d650ae9 (patch)
treed7de0d4f19cec0996e97ad10af92967bcce9dbe6
parent807be442d3063247a9d05f16284475d2d9624d25 (diff)
downloadgvfs-6b54d05ea00a363e570101e355917cc12d650ae9.tar.gz
mtp: fix segfault when device not found
https://bugzilla.gnome.org/show_bug.cgi?id=719495
-rw-r--r--daemon/gvfsbackendmtp.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/daemon/gvfsbackendmtp.c b/daemon/gvfsbackendmtp.c
index 728f1ade..4c5a9a29 100644
--- a/daemon/gvfsbackendmtp.c
+++ b/daemon/gvfsbackendmtp.c
@@ -863,6 +863,13 @@ get_device (GVfsBackend *backend, const char *id, GVfsJob *job) {
}
}
+ if (device == NULL) {
+ g_vfs_job_failed (G_VFS_JOB (job),
+ G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
+ _("Device not found"));
+ goto exit;
+ }
+
/* Check supported methods/extensions. */
LIBMTP_device_extension_t *extension;
for (extension = device->extensions; extension != NULL; extension = extension->next) {