summaryrefslogtreecommitdiffstats
path: root/sys/fs/pseudofs/pseudofs_vnops.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/fs/pseudofs/pseudofs_vnops.c')
-rw-r--r--sys/fs/pseudofs/pseudofs_vnops.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/fs/pseudofs/pseudofs_vnops.c b/sys/fs/pseudofs/pseudofs_vnops.c
index 3f0c00e..7d192e9 100644
--- a/sys/fs/pseudofs/pseudofs_vnops.c
+++ b/sys/fs/pseudofs/pseudofs_vnops.c
@@ -891,7 +891,11 @@ pfs_readlink(struct vop_readlink_args *va)
PFS_RETURN (error);
}
- sbuf_finish(&sb);
+ if (sbuf_finish(&sb) != 0) {
+ sbuf_delete(&sb);
+ PFS_RETURN (ENAMETOOLONG);
+ }
+
error = uiomove_frombuf(sbuf_data(&sb), sbuf_len(&sb), uio);
sbuf_delete(&sb);
PFS_RETURN (error);
OpenPOWER on IntegriCloud