diff options
author | Gustavo A. R. Silva <gustavo@embeddedor.com> | 2020-01-30 22:13:51 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-02-11 04:33:57 -0800 |
commit | 359cc3bca031d8b309c1d558119d0af9482be8d6 (patch) | |
tree | 234891f6125d6e79cb12a27264432f4794291e7b /lib | |
parent | a81cdcdf056b4d9af84981f37ccb34d0c23143f8 (diff) | |
download | linux-stable-359cc3bca031d8b309c1d558119d0af9482be8d6.tar.gz linux-stable-359cc3bca031d8b309c1d558119d0af9482be8d6.tar.bz2 linux-stable-359cc3bca031d8b309c1d558119d0af9482be8d6.zip |
lib/test_kasan.c: fix memory leak in kmalloc_oob_krealloc_more()
commit 3e21d9a501bf99aee2e5835d7f34d8c823f115b5 upstream.
In case memory resources for _ptr2_ were allocated, release them before
return.
Notice that in case _ptr1_ happens to be NULL, krealloc() behaves
exactly like kmalloc().
Addresses-Coverity-ID: 1490594 ("Resource leak")
Link: http://lkml.kernel.org/r/20200123160115.GA4202@embeddedor
Fixes: 3f15801cdc23 ("lib: add kasan test module")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/test_kasan.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/test_kasan.c b/lib/test_kasan.c index ec657105edbf..bd0e067c4895 100644 --- a/lib/test_kasan.c +++ b/lib/test_kasan.c @@ -157,6 +157,7 @@ static noinline void __init kmalloc_oob_krealloc_more(void) if (!ptr1 || !ptr2) { pr_err("Allocation failed\n"); kfree(ptr1); + kfree(ptr2); return; } |