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

src/daemon/common_test.c

index 93a19d1..285ad6a 100644 (file)
@@ -190,9 +190,9 @@ DEF_TEST(escape_slashes) {
   };
 
   for (size_t i = 0; i < STATIC_ARRAY_SIZE(cases); i++) {
-    char buffer[32];
+    char buffer[32] = {0};
 
-    strncpy(buffer, cases[i].str, sizeof(buffer));
+    strncpy(buffer, cases[i].str, sizeof(buffer) - 1);
     OK(escape_slashes(buffer, sizeof(buffer)) == 0);
     EXPECT_EQ_STR(cases[i].want, buffer);
   }