kunit: Fix possible memory leak in kunit_filter_suites()
If both filter_glob and filters are not NULL, and kunit_parse_glob_filter()
succeed, but kcalloc parsed_filters fails, the suite_glob and test_glob of
parsed kzalloc in kunit_parse_glob_filter() will be leaked.
As Rae suggested, assign -ENOMEM to *err to correctly free copy and goto
free_parsed_glob to free the suite/test_glob of parsed.
Fixes: 1c9fd080df
("kunit: fix uninitialized variables bug in attributes filtering")
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Suggested-by: Rae Moar <rmoar@google.com>
Reviewed-by: David Gow <davidgow@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
Родитель
2b56a4b79b
Коммит
9076bc476d
|
@ -175,8 +175,8 @@ kunit_filter_suites(const struct kunit_suite_set *suite_set,
|
|||
filter_count = kunit_get_filter_count(filters);
|
||||
parsed_filters = kcalloc(filter_count, sizeof(*parsed_filters), GFP_KERNEL);
|
||||
if (!parsed_filters) {
|
||||
kfree(copy);
|
||||
return filtered;
|
||||
*err = -ENOMEM;
|
||||
goto free_parsed_glob;
|
||||
}
|
||||
for (j = 0; j < filter_count; j++)
|
||||
parsed_filters[j] = kunit_next_attr_filter(&filters, err);
|
||||
|
|
Загрузка…
Ссылка в новой задаче