On Mon, 30 Oct 2023 at 18:47, Richard Fitzgerald rf@opensource.cirrus.com wrote:
In kunit_debugfs_create_suite() give up and skip creating the debugfs file if any of the alloc_string_stream() calls return an error or NULL. Only put a value in the log pointer of kunit_suite and kunit_test if it is a valid pointer to a log.
This prevents the potential invalid dereference reported by smatch:
lib/kunit/debugfs.c:115 kunit_debugfs_create_suite() error: 'suite->log' dereferencing possible ERR_PTR() lib/kunit/debugfs.c:119 kunit_debugfs_create_suite() error: 'test_case->log' dereferencing possible ERR_PTR()
Signed-off-by: Richard Fitzgerald rf@opensource.cirrus.com Reported-by: Dan Carpenter dan.carpenter@linaro.org Fixes: 05e2006ce493 ("kunit: Use string_stream for test log")
Thanks for fixing all the nasty C error handling.
Closes: https://groups.google.com/g/kunit-dev/c/sf6MsFzeEV4 Reviewed-by: David Gow davidgow@google.com
Cheers, -- David