Message ID | 20200402150314.568044-1-colin.king@canonical.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [next] kunit: fix dereference of suite before it has been null checked | expand |
On Thu, 2 Apr 2020, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > 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@canonical.com> Reviewed-by: Alan Maguire <alan.maguire@oracle.com> 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 > >
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)