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

(cherry picked from commit 737ffc08e2d9f3d3dda40a51329881085070863e)
(cherry picked from commit 52e8daca0c0b53c61c31fe9ea058b08e6eb7c2b1)

src/utils/common/common_test.c

index 0959f63..0e061a1 100644 (file)
@@ -221,9 +221,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);
   }