Re: [PATCH][next] kunit: fix dereference of suite before it has been null checked

From: Alan Maguire
Date: Thu Apr 02 2020 - 11:24:32 EST


On Thu, 2 Apr 2020, Colin King wrote:

> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>
> Currently pointer 'suite' is dereferenced when variable success
> is being initialized before the pointer is null checked. Fix this
> by only dereferencing suite after is has been null checked.
>
> Addresses-Coverity: ("Dereference before null check")
> Fixes: e2219db280e3 ("kunit: add debugfs /sys/kernel/debug/kunit/<suite>/results display")
> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>

Reviewed-by: Alan Maguire <alan.maguire@xxxxxxxxxx>

Thanks for spotting this!

Alan

> ---
> lib/kunit/debugfs.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/lib/kunit/debugfs.c b/lib/kunit/debugfs.c
> index 9214c493d8b7..05547642f37c 100644
> --- a/lib/kunit/debugfs.c
> +++ b/lib/kunit/debugfs.c
> @@ -52,12 +52,13 @@ static void debugfs_print_result(struct seq_file *seq,
> static int debugfs_print_results(struct seq_file *seq, void *v)
> {
> struct kunit_suite *suite = (struct kunit_suite *)seq->private;
> - bool success = kunit_suite_has_succeeded(suite);
> + bool success;
> struct kunit_case *test_case;
>
> if (!suite || !suite->log)
> return 0;
>
> + success = kunit_suite_has_succeeded(suite);
> seq_printf(seq, "%s", suite->log);
>
> kunit_suite_for_each_test_case(suite, test_case)
> --
> 2.25.1
>
>