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 <tom.hroma...@oracle.com>
---
 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 a0e3c8693e45..2a8f7777f3f0 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.25.1



_______________________________________________
Libcg-devel mailing list
Libcg-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libcg-devel

Reply via email to