Fix warning in test_escape_slashes
authorRuben Kerkhof <ruben@rubenkerkhof.com>
Mon, 14 Oct 2019 15:36:55 +0000 (17:36 +0200)
committerMatthias Runge <mrunge@redhat.com>
Wed, 16 Oct 2019 09:05:33 +0000 (11:05 +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));
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(cherry picked from commit a22c4260335616b7847e57ef638e0e29cd8cda05)
(cherry picked from commit d5edf1e82feb80cfe90cfa35501eef3c8dc493e5)

src/utils/common/common_test.c

index 4f15c16..0959f63 100644 (file)
@@ -196,9 +196,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);
   }