aboutsummaryrefslogtreecommitdiff
path: root/sys/fs
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2001-06-10 21:39:01 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2001-06-10 21:39:01 +0000
commitb27acc8dd19a92a56c43b32a67a1470e22b761f6 (patch)
tree1ceb53837476d0f517afe1f7aeec40ba3947c02f /sys/fs
parent7005ce8a5f2966561645b5a76623b603af961039 (diff)
downloadsrc-b27acc8dd19a92a56c43b32a67a1470e22b761f6.tar.gz
src-b27acc8dd19a92a56c43b32a67a1470e22b761f6.zip
Bail out if the fill function failed.
Notes
Notes: svn path=/head/; revision=78018
Diffstat (limited to 'sys/fs')
-rw-r--r--sys/fs/pseudofs/pseudofs_vnops.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/fs/pseudofs/pseudofs_vnops.c b/sys/fs/pseudofs/pseudofs_vnops.c
index 473b4144f58a..f3170251beb7 100644
--- a/sys/fs/pseudofs/pseudofs_vnops.c
+++ b/sys/fs/pseudofs/pseudofs_vnops.c
@@ -233,6 +233,11 @@ pfs_read(struct vop_read_args *va)
if (proc != NULL)
PRELE(proc);
+
+ if (error) {
+ sbuf_delete(sb);
+ return (error);
+ }
/* XXX we should possibly detect and handle overflows */
sbuf_finish(sb);
@@ -391,6 +396,11 @@ pfs_readlink(struct vop_readlink_args *va)
if (proc != NULL)
PRELE(proc);
+ if (error) {
+ sbuf_delete(&sb);
+ return (error);
+ }
+
/* XXX we should detect and handle overflows */
sbuf_finish(&sb);
ps = sbuf_data(&sb) + uio->uio_offset;