kunit: Fix the wrong kfree of copy for kunit_filter_suites()
authorJinjie Ruan <ruanjinjie@huawei.com>
Wed, 27 Sep 2023 09:03:48 +0000 (17:03 +0800)
committerShuah Khan <skhan@linuxfoundation.org>
Thu, 28 Sep 2023 14:50:57 +0000 (08:50 -0600)
If the outer layer for loop is iterated more than once and it fails not
in the first iteration, the copy pointer has been moved. So it should free
the original copy's backup copy_start.

Fixes: abbf73816b6f ("kunit: fix possible memory leak in kunit_filter_suites()")
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Reviewed-by: Rae Moar <rmoar@google.com>
Reviewed-by: David Gow <davidgow@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
lib/kunit/executor.c

index a037a46..9358ed2 100644 (file)
@@ -243,7 +243,7 @@ free_parsed_glob:
 
 free_copy:
        if (*err)
-               kfree(copy);
+               kfree(copy_start);
 
        return filtered;
 }