[PATCH] lib/test_kasan.c: Fix memory leak in kmalloc_oob_krealloc_more()

3 views
Skip to first unread message

Gustavo A. R. Silva

unread,
Jan 23, 2020, 10:59:13 AM1/23/20
to Andrey Ryabinin, Alexander Potapenko, Dmitry Vyukov, Andrew Morton, Andrey Konovalov, kasa...@googlegroups.com, linux-...@vger.kernel.org, Gustavo A. R. Silva
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")
Fixes: 3f15801cdc23 ("lib: add kasan test module")
Cc: sta...@vger.kernel.org
Signed-off-by: Gustavo A. R. Silva <gus...@embeddedor.com>
---
lib/test_kasan.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/lib/test_kasan.c b/lib/test_kasan.c
index 328d33beae36..3872d250ed2c 100644
--- a/lib/test_kasan.c
+++ b/lib/test_kasan.c
@@ -158,6 +158,7 @@ static noinline void __init kmalloc_oob_krealloc_more(void)
if (!ptr1 || !ptr2) {
pr_err("Allocation failed\n");
kfree(ptr1);
+ kfree(ptr2);
return;
}

--
2.25.0

Dmitry Vyukov

unread,
Jan 23, 2020, 11:03:04 AM1/23/20
to Gustavo A. R. Silva, Andrey Ryabinin, Alexander Potapenko, Andrew Morton, Andrey Konovalov, kasan-dev, LKML
On Thu, Jan 23, 2020 at 4:59 PM Gustavo A. R. Silva
<gus...@embeddedor.com> wrote:
>
> 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().

Reviewed-by: Dmitry Vyukov <dvy...@google.com>

The scenario where ptr1 is NULL, but ptr2 is not NULL is not impossible indeed.
Reply all
Reply to author
Forward
0 new messages