summaryrefslogtreecommitdiff
path: root/daemon/gvfsjobread.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@src.gnome.org>2007-09-13 13:57:50 +0000
committerAlexander Larsson <alexl@src.gnome.org>2007-09-13 13:57:50 +0000
commitb3d92ba9a95013d985efd58cf1dbb2a61cc718b0 (patch)
tree4f680ce98ef073f5b740b1cdd3e7ca3cf40b19a2 /daemon/gvfsjobread.c
parent2c4aa53f53174bddaeafce332c709a4e0869275d (diff)
downloadgvfs-b3d92ba9a95013d985efd58cf1dbb2a61cc718b0.tar.gz
Check for unsupported operations and return error instead of crashing,
Original git commit by Alexander Larsson <alexl@redhat.com> at 1183457271 +0200 svn path=/trunk/; revision=604
Diffstat (limited to 'daemon/gvfsjobread.c')
-rw-r--r--daemon/gvfsjobread.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/daemon/gvfsjobread.c b/daemon/gvfsjobread.c
index 015187b5..aed24f80 100644
--- a/daemon/gvfsjobread.c
+++ b/daemon/gvfsjobread.c
@@ -92,6 +92,13 @@ run (GVfsJob *job)
GVfsJobRead *op_job = G_VFS_JOB_READ (job);
GVfsBackendClass *class = G_VFS_BACKEND_GET_CLASS (op_job->backend);
+ if (class->read == NULL)
+ {
+ g_vfs_job_failed (job, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
+ _("Operation not supported by backend"));
+ return;
+ }
+
class->read (op_job->backend,
op_job,
op_job->handle,