multipath tests: util: fix clang strlcpy warnings
authorMartin Wilck <mwilck@suse.com>
Sat, 12 Oct 2019 21:28:57 +0000 (21:28 +0000)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Mon, 2 Mar 2020 08:19:52 +0000 (09:19 +0100)
clang erroneously thought that we were using the size of the source
for the destination, while they are equal. Trick it into accepting
the code.

Signed-off-by: Martin Wilck <mwilck@suse.com>
tests/util.c

index 4e04a48..7c486fc 100644 (file)
@@ -328,11 +328,12 @@ static void test_strlcpy_5(void **state)
 {
        char *tst;
        int rc;
+       const int sz = sizeof(src_str);
 
-       tst = malloc(sizeof(src_str));
+       tst = malloc(sz);
        memset(tst, 'f', sizeof(src_str));
 
-       rc = strlcpy(tst, src_str, sizeof(src_str));
+       rc = strlcpy(tst, src_str, sz);
        assert_int_equal(rc, strlen(src_str));
        assert_string_equal(src_str, tst);
 
@@ -344,15 +345,16 @@ static void test_strlcpy_6(void **state)
 {
        char *tst;
        int rc;
+       const int sz = sizeof(src_str);
 
-       tst = malloc(sizeof(src_str) + 2);
-       memset(tst, 'f', sizeof(src_str) + 2);
+       tst = malloc(sz + 2);
+       memset(tst, 'f', sz + 2);
 
-       rc = strlcpy(tst, src_str, sizeof(src_str) + 2);
+       rc = strlcpy(tst, src_str, sz + 2);
        assert_int_equal(rc, strlen(src_str));
        assert_string_equal(src_str, tst);
-       assert_int_equal(tst[sizeof(src_str)], 'f');
-       assert_int_equal(tst[sizeof(src_str) + 1], 'f');
+       assert_int_equal(tst[sz], 'f');
+       assert_int_equal(tst[sz + 1], 'f');
 
        free(tst);
 }