[dm-devel] [PATCH 64/72] multipath tests: util: fix clang strlcpy warnings
Martin Wilck
Martin.Wilck at suse.com
Sat Oct 12 21:28:57 UTC 2019
From: Martin Wilck <mwilck at suse.com>
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 at suse.com>
---
tests/util.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/tests/util.c b/tests/util.c
index 4e04a480..7c486fca 100644
--- a/tests/util.c
+++ b/tests/util.c
@@ -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);
}
--
2.23.0
More information about the dm-devel
mailing list