mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-01-13 19:50:25 +03:00
Avoid stack overwrite in zfs_setattr_dir()
The bulk[] array index, count, must be reset per-iteration in order to not overwrite the stack. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Chris Dunlop <chris@onthe.net.au> Reviewed-by: Tom Caputi <tcaputi@datto.com> Signed-off-by: Tim Chase <tim@chase2k.com> Closes #8072 Closes #8597 Closes #8601
This commit is contained in:
parent
5ae4e4481e
commit
8cb34421e0
@ -2710,11 +2710,12 @@ zfs_setattr_dir(znode_t *dzp)
|
|||||||
dmu_tx_t *tx = NULL;
|
dmu_tx_t *tx = NULL;
|
||||||
uint64_t uid, gid;
|
uint64_t uid, gid;
|
||||||
sa_bulk_attr_t bulk[4];
|
sa_bulk_attr_t bulk[4];
|
||||||
int count = 0;
|
int count;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
zap_cursor_init(&zc, os, dzp->z_id);
|
zap_cursor_init(&zc, os, dzp->z_id);
|
||||||
while ((err = zap_cursor_retrieve(&zc, &zap)) == 0) {
|
while ((err = zap_cursor_retrieve(&zc, &zap)) == 0) {
|
||||||
|
count = 0;
|
||||||
if (zap.za_integer_length != 8 || zap.za_num_integers != 1) {
|
if (zap.za_integer_length != 8 || zap.za_num_integers != 1) {
|
||||||
err = ENXIO;
|
err = ENXIO;
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user