diff options
author | Ondrej Holy <oholy@redhat.com> | 2013-11-28 16:19:35 +0100 |
---|---|---|
committer | Ondrej Holy <oholy@redhat.com> | 2013-11-29 13:24:39 +0100 |
commit | 6b54d05ea00a363e570101e355917cc12d650ae9 (patch) | |
tree | d7de0d4f19cec0996e97ad10af92967bcce9dbe6 | |
parent | 807be442d3063247a9d05f16284475d2d9624d25 (diff) | |
download | gvfs-6b54d05ea00a363e570101e355917cc12d650ae9.tar.gz |
mtp: fix segfault when device not found
https://bugzilla.gnome.org/show_bug.cgi?id=719495
-rw-r--r-- | daemon/gvfsbackendmtp.c | 7 |
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) { |