btrfs: Mem leak in btrfs_get_acl()
It seems to me that we leak the memory allocated to 'value' in btrfs_get_acl() if the call to posix_acl_from_xattr() fails. Here's a patch that attempts to correct that problem. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
6d07bcec96
commit
42838bb265
@ -60,8 +60,10 @@ static struct posix_acl *btrfs_get_acl(struct inode *inode, int type)
|
|||||||
size = __btrfs_getxattr(inode, name, value, size);
|
size = __btrfs_getxattr(inode, name, value, size);
|
||||||
if (size > 0) {
|
if (size > 0) {
|
||||||
acl = posix_acl_from_xattr(value, size);
|
acl = posix_acl_from_xattr(value, size);
|
||||||
if (IS_ERR(acl))
|
if (IS_ERR(acl)) {
|
||||||
|
kfree(value);
|
||||||
return acl;
|
return acl;
|
||||||
|
}
|
||||||
set_cached_acl(inode, type, acl);
|
set_cached_acl(inode, type, acl);
|
||||||
}
|
}
|
||||||
kfree(value);
|
kfree(value);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user