diff options
author | Josh Boyer <jwboyer@redhat.com> | 2013-09-20 17:17:52 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-21 02:15:42 +0400 |
commit | 607566aeccde6ffccde5eef173ed0d277eec4a2d (patch) | |
tree | 641c6d622098fe69df3d9d59131376cdfb7d4004 /fs/dcache.c | |
parent | 8f4c344696b9f9f8471d7f342076ef10ed7f66a5 (diff) | |
download | linux-607566aeccde6ffccde5eef173ed0d277eec4a2d.tar.xz |
CacheFiles: Fix memory leak in cachefiles_check_auxdata error paths
In cachefiles_check_auxdata(), we allocate auxbuf but fail to free it if
we determine there's an error or that the data is stale.
Further, assigning the output of vfs_getxattr() to auxbuf->len gives
problems with checking for errors as auxbuf->len is a u16. We don't
actually need to set auxbuf->len, so keep the length in a variable for
now. We shouldn't need to check the upper limit of the buffer as an
overflow there should be indicated by -ERANGE.
While we're at it, fscache_check_aux() returns an enum value, not an
int, so assign it to an appropriately typed variable rather than to ret.
Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Hongyi Jia <jiayisuse@gmail.com>
cc: Milosz Tanski <milosz@adfin.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/dcache.c')
0 files changed, 0 insertions, 0 deletions