diff options
author | Richard Fitzgerald <rf@opensource.cirrus.com> | 2023-12-20 15:52:56 +0000 |
---|---|---|
committer | Shuah Khan <skhan@linuxfoundation.org> | 2024-01-03 09:10:04 -0700 |
commit | 7ece381aa72d430ee117958abb5bb23e21d72f1d (patch) | |
tree | b5abec86c9f20faa32dd3ccae6d29aa69512c454 /include/kunit | |
parent | 5fb1a8c671473c59ed556035346fa9f2b2b430f1 (diff) | |
download | lwn-7ece381aa72d430ee117958abb5bb23e21d72f1d.tar.gz lwn-7ece381aa72d430ee117958abb5bb23e21d72f1d.zip |
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>
Diffstat (limited to 'include/kunit')
-rw-r--r-- | include/kunit/test.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/kunit/test.h b/include/kunit/test.h index b163b9984b33..c2ce379c329b 100644 --- a/include/kunit/test.h +++ b/include/kunit/test.h @@ -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; \ \ \ |