FreeBSD Bugzilla – Attachment 179798 Details for
Bug 216939
A buffer underflow in the ZFS implementation of vop_vptocnp VFS method
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
This patch adds check for remaining buffer space. ENOMEM will be returned when buffer too small.
patch-zfs-vop_vptocnp (text/plain), 1.18 KB, created by
Iouri V. Ivliev
on 2017-02-09 14:27:44 UTC
(
hide
)
Description:
This patch adds check for remaining buffer space. ENOMEM will be returned when buffer too small.
Filename:
MIME Type:
Creator:
Iouri V. Ivliev
Created:
2017-02-09 14:27:44 UTC
Size:
1.18 KB
patch
obsolete
>--- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c.orig 2017-02-08 00:39:27.000000000 +0000 >+++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c 2017-02-09 08:35:05.479822000 +0000 >@@ -5984,6 +5984,10 @@ > error = zfs_znode_parent_and_name(zp, &dzp, name); > if (error == 0) { > len = strlen(name); >+ if (*ap->a_buflen < len) >+ error = SET_ERROR(ENOMEM); >+ } >+ if (error == 0) { > *ap->a_buflen -= len; > bcopy(name, ap->a_buf + *ap->a_buflen, len); > *ap->a_vpp = ZTOV(dzp); >--- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c.orig 2017-02-08 00:39:27.000000000 +0000 >+++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c 2017-02-09 08:59:53.529460000 +0000 >@@ -1609,11 +1609,16 @@ > size_t len; > > len = strlen(sep->se_name); >- *ap->a_buflen -= len; >- bcopy(sep->se_name, ap->a_buf + *ap->a_buflen, len); >- mutex_exit(&sdp->sd_lock); >- vref(dvp); >- *ap->a_vpp = dvp; >+ if (*ap->a_buflen < len) { >+ mutex_exit(&sdp->sd_lock); >+ error = ENOMEM; >+ } else { >+ *ap->a_buflen -= len; >+ bcopy(sep->se_name, ap->a_buf + *ap->a_buflen, len); >+ mutex_exit(&sdp->sd_lock); >+ vref(dvp); >+ *ap->a_vpp = dvp; >+ } > } > VN_RELE(dvp); >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 216939
:
179795
| 179798