Fix warning in test_escape_string
authorRuben Kerkhof <ruben@rubenkerkhof.com>
Mon, 14 Oct 2019 15:38:03 +0000 (17:38 +0200)
committerRuben Kerkhof <ruben@rubenkerkhof.com>
Mon, 14 Oct 2019 16:25:07 +0000 (18:25 +0200)
In function ‘test_escape_string’,
    inlined from ‘main’ at src/utils/common/common_test.c:384:3:
src/utils/common/common_test.c:226:5: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
  226 |     strncpy(buffer, cases[i].str, sizeof(buffer));
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

src/daemon/common_test.c

index 285ad6a..23fe1ed 100644 (file)
@@ -215,9 +215,9 @@ DEF_TEST(escape_string) {
   };
 
   for (size_t i = 0; i < STATIC_ARRAY_SIZE(cases); i++) {
-    char buffer[16];
+    char buffer[16] = {0};
 
-    strncpy(buffer, cases[i].str, sizeof(buffer));
+    strncpy(buffer, cases[i].str, sizeof(buffer) - 1);
     OK(escape_string(buffer, sizeof(buffer)) == 0);
     EXPECT_EQ_STR(cases[i].want, buffer);
   }