OpenZFS 8966 - Source file zfs_acl.c, function zfs_aclset_common contains a use after end of the lifetime of a local variable

Authored by: WHR <msl0000023508@gmail.com>
Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: Andriy Gapon <avg@FreeBSD.org>
Reviewed by: George Melikov <mail@gmelikov.ru>
Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Approved by: Richard Lowe <richlowe@richlowe.net>
Ported-by: Giuseppe Di Natale <dinatale2@llnl.gov>

OpenZFS-issue: https://www.illumos.org/issues/8966
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/c95549fcdc
Closes #7141
This commit is contained in:
WHR 2018-01-14 23:57:54 +03:00 committed by Brian Behlendorf
parent 6f259b59cf
commit 8824a7f133

View File

@ -1323,6 +1323,7 @@ zfs_aclset_common(znode_t *zp, zfs_acl_t *aclp, cred_t *cr, dmu_tx_t *tx)
sa_bulk_attr_t bulk[5]; sa_bulk_attr_t bulk[5];
uint64_t ctime[2]; uint64_t ctime[2];
int count = 0; int count = 0;
zfs_acl_phys_t acl_phys;
mode = zp->z_mode; mode = zp->z_mode;
@ -1369,7 +1370,6 @@ zfs_aclset_common(znode_t *zp, zfs_acl_t *aclp, cred_t *cr, dmu_tx_t *tx)
} else { /* Painful legacy way */ } else { /* Painful legacy way */
zfs_acl_node_t *aclnode; zfs_acl_node_t *aclnode;
uint64_t off = 0; uint64_t off = 0;
zfs_acl_phys_t acl_phys;
uint64_t aoid; uint64_t aoid;
if ((error = sa_lookup(zp->z_sa_hdl, SA_ZPL_ZNODE_ACL(zfsvfs), if ((error = sa_lookup(zp->z_sa_hdl, SA_ZPL_ZNODE_ACL(zfsvfs),