kunit: Fix possible memory leak in kunit_filter_suites()
authorJinjie Ruan <ruanjinjie@huawei.com>
Wed, 27 Sep 2023 09:03:49 +0000 (17:03 +0800)
committerShuah Khan <skhan@linuxfoundation.org>
Thu, 28 Sep 2023 14:51:02 +0000 (08:51 -0600)
commit24de14c98b37ea40a7e493dfd0d93b400b6efbca
tree633f2714f009c9b0482f9acaf75f9e0ae74b713c
parente44679515a7b803cf0143dc9de3d2ecbe907f939
kunit: Fix possible memory leak in kunit_filter_suites()

If the outer layer for loop is iterated more than once and it fails not
in the first iteration, the filtered_suite and filtered_suite->test_cases
allocated in the last kunit_filter_attr_tests() in last inner for loop
is leaked.

So add a new free_filtered_suite err label and free the filtered_suite
and filtered_suite->test_cases so far. And change kmalloc_array of copy
to kcalloc to Clear the copy to make the kfree safe.

Fixes: 529534e8cba3 ("kunit: Add ability to filter attributes")
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