svn commit: r230462 - stable/9/sys/fs/pseudofs
Jaakko Heinonen
jh at FreeBSD.org
Sun Jan 22 13:55:16 UTC 2012
Author: jh
Date: Sun Jan 22 13:55:15 2012
New Revision: 230462
URL: http://svn.freebsd.org/changeset/base/230462
Log:
MFC r229692:
Check the return value of sbuf_finish() in pfs_readlink() and return
ENAMETOOLONG if the buffer overflowed.
Modified:
stable/9/sys/fs/pseudofs/pseudofs_vnops.c
Directory Properties:
stable/9/sys/ (props changed)
stable/9/sys/amd64/include/xen/ (props changed)
stable/9/sys/boot/ (props changed)
stable/9/sys/boot/i386/efi/ (props changed)
stable/9/sys/boot/ia64/efi/ (props changed)
stable/9/sys/boot/ia64/ski/ (props changed)
stable/9/sys/boot/powerpc/boot1.chrp/ (props changed)
stable/9/sys/boot/powerpc/ofw/ (props changed)
stable/9/sys/cddl/contrib/opensolaris/ (props changed)
stable/9/sys/conf/ (props changed)
stable/9/sys/contrib/dev/acpica/ (props changed)
stable/9/sys/contrib/octeon-sdk/ (props changed)
stable/9/sys/contrib/pf/ (props changed)
stable/9/sys/contrib/x86emu/ (props changed)
Modified: stable/9/sys/fs/pseudofs/pseudofs_vnops.c
==============================================================================
--- stable/9/sys/fs/pseudofs/pseudofs_vnops.c Sun Jan 22 13:51:20 2012 (r230461)
+++ stable/9/sys/fs/pseudofs/pseudofs_vnops.c Sun Jan 22 13:55:15 2012 (r230462)
@@ -891,7 +891,11 @@ pfs_readlink(struct vop_readlink_args *v
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);
More information about the svn-src-stable-9
mailing list