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

عرض 1-2 من 2 من الرسائل
[PATCH] lib/test_kasan.c: Fix memory leak in kmalloc_oob_krealloc_more() Gustavo A. R. Silva 23/01/20 07:59 ص
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

Re: [PATCH] lib/test_kasan.c: Fix memory leak in kmalloc_oob_krealloc_more() dvyukov 23/01/20 08:03 ص
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.