From 6d116112c01be37fea35633cf22f93f0bb347a71 Mon Sep 17 00:00:00 2001 From: Tom Hromatka Date: Tue, 27 Apr 2021 17:19:40 +0000 Subject: [PATCH] gunit: Fix an snprintf() truncation warning MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fix the following snprintf() string truncation warning: 001-path.cpp: In member function ‘virtual void BuildPathV1Test::SetUp()’: 001-path.cpp:70:22: warning: ‘%s’ directive output may be truncated writing up to 820799 bytes into a re gion of size 4081 [-Wformat-truncation=] 70 | "/sys/fs/cgroup/%s", cg_mount_table[i].name); | ^~ In file included from /usr/include/stdio.h:867, from /usr/include/c++/9/cstdio:42, from /usr/include/c++/9/ext/string_conversions.h:43, from /usr/include/c++/9/bits/basic_string.h:6493, from /usr/include/c++/9/string:55, from /usr/include/c++/9/bits/locale_classes.h:40, from /usr/include/c++/9/bits/ios_base.h:41, from /usr/include/c++/9/ios:42, from /usr/include/c++/9/ostream:38, from ../../googletest/googletest/include/gtest/gtest.h:55, from 001-path.cpp:22: /usr/include/x86_64-linux-gnu/bits/stdio2.h:67:35: note: ‘__builtin___snprintf_chk’ output between 16 an d 820815 bytes into a destination of size 4096 67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 68 | __bos (__s), __fmt, __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Tom Hromatka --- gunit/001-path.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gunit/001-path.cpp b/gunit/001-path.cpp index a0e3c869..2a8f7777 100644 --- a/gunit/001-path.cpp +++ b/gunit/001-path.cpp @@ -49,7 +49,7 @@ class BuildPathV1Test : public ::testing::Test { char NAMESPACE1[] = "ns1"; char NAMESPACE5[] = "ns5"; const int ENTRY_CNT = 6; - int i; + int i, ret; memset(&cg_mount_table, 0, sizeof(cg_mount_table)); memset(cg_namespace_table, 0, @@ -61,8 +61,10 @@ class BuildPathV1Test : public ::testing::Test { "controller%d", i); cg_mount_table[i].index = i; - snprintf(cg_mount_table[i].mount.path, FILENAME_MAX, + ret = snprintf(cg_mount_table[i].mount.path, FILENAME_MAX, "/sys/fs/cgroup/%s", cg_mount_table[i].name); + ASSERT_LT(ret, sizeof(cg_mount_table[i].mount.path)); + cg_mount_table[i].mount.next = NULL; } -- 2.47.2