lib:torture: Fix string comparison macros where we directly pass NULL
authorAndreas Schneider <asn@samba.org>
Wed, 8 May 2019 14:54:30 +0000 (16:54 +0200)
committerJeremy Allison <jra@samba.org>
Wed, 8 May 2019 16:33:24 +0000 (16:33 +0000)
See e.g. lib/util/tests/strlist.c +177

Found by GCC 9.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
lib/torture/torture.h

index 2921ae74b9b4101d19aefc390b21774f9b0b3240..a7f3f471b3a5604f103908b893b3acecdd324a90 100644 (file)
@@ -323,7 +323,9 @@ void torture_result(struct torture_context *test,
 #define torture_assert_casestr_equal(torture_ctx,got,expected,cmt) \
        do { const char *__got = (got), *__expected = (expected); \
        if (!strequal(__got, __expected)) { \
-               torture_result(torture_ctx, TORTURE_FAIL, __location__": "#got" was %s, expected %s: %s", __got, __expected, cmt); \
+               torture_result(torture_ctx, TORTURE_FAIL, \
+                              __location__": "#got" was %s, expected %s: %s", \
+                              __got, __expected == NULL ? "null" : __expected, cmt); \
                return false; \
        } \
        } while(0)
@@ -332,8 +334,8 @@ void torture_result(struct torture_context *test,
        do { const char *__got = (got), *__expected = (expected); \
        if (strcmp_safe(__got, __expected) != 0) { \
                torture_result(torture_ctx, TORTURE_FAIL, \
-                                          __location__": "#got" was %s, expected %s: %s", \
-                                          __got, __expected, cmt); \
+                              __location__": "#got" was %s, expected %s: %s", \
+                              __got, __expected == NULL ? "NULL" : __expected, cmt); \
                return false; \
        } \
        } while(0)