EVM: Fix null dereference on xattr when xattr fails to allocate

In the case where the allocation of xattr fails and xattr is NULL, the
error exit return path via label 'out' will dereference xattr when
kfree'ing xattr-name.  Fix this by only kfree'ing xattr->name and xattr
when xattr is non-null.

Detected by CoverityScan, CID#1469366 ("Dereference after null check")

Fixes: fa516b66a1 ("EVM: Allow runtime modification of the set of verified xattrs")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
This commit is contained in:
Colin Ian King 2018-05-27 23:55:10 +01:00 коммит произвёл Mimi Zohar
Родитель 825b8650dc
Коммит 72acd64df4
1 изменённых файлов: 4 добавлений и 2 удалений

Просмотреть файл

@ -253,8 +253,10 @@ static ssize_t evm_write_xattrs(struct file *file, const char __user *buf,
out:
audit_log_format(ab, " res=%d", err);
audit_log_end(ab);
kfree(xattr->name);
kfree(xattr);
if (xattr) {
kfree(xattr->name);
kfree(xattr);
}
return err;
}