kunit: Protect string comparisons against NULL

Add NULL checks to KUNIT_BINARY_STR_ASSERTION() so that it will fail
cleanly if either pointer is NULL, instead of causing a NULL pointer
dereference in the strcmp().

A test failure could be that a string is unexpectedly NULL. This could
be trapped by KUNIT_ASSERT_NOT_NULL() but that would terminate the test
at that point. It's preferable that the KUNIT_EXPECT_STR*() macros can
handle NULL pointers as a failure.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Reviewed-by: David Gow <davidgow@google.com>
Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
Richard Fitzgerald 2023-12-20 15:52:56 +00:00 committed by Shuah Khan
parent 5fb1a8c671
commit 7ece381aa7

View File

@ -758,7 +758,7 @@ do { \
.right_text = #right, \
}; \
\
if (likely(strcmp(__left, __right) op 0)) \
if (likely((__left) && (__right) && (strcmp(__left, __right) op 0))) \
break; \
\
\