]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
api: Fix clang warning
authorTom Hromatka <tom.hromatka@oracle.com>
Tue, 29 Jul 2025 16:04:41 +0000 (16:04 +0000)
committerKamalesh Babulal <kamalesh.babulal@oracle.com>
Fri, 1 Aug 2025 09:02:21 +0000 (14:32 +0530)
Fix the following warnings from clang by reducing the size passed to
strncat by 1 as recommended by clang.

api.c:3727:22: warning: the value of the size argument in 'strncat' is
too large, might lead to a buffer overflow [-Wstrncat-size]
 3727 |         strncat(path, file, sizeof(path) - strlen(path));
      |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
api.c:3727:22: note: change the argument to be the free space in the
destination buffer minus the terminating null byte
 3727 |         strncat(path, file, sizeof(path) - strlen(path));
      |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                             sizeof(path) - strlen(path) - 1

Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
src/api.c

index 0a9f847a0efa66b1161f3c31be2f31882f23d1bc..435d3679f8f8ff410e245564a5d51f6d5db27fb1 100644 (file)
--- a/src/api.c
+++ b/src/api.c
@@ -3724,7 +3724,7 @@ static int cg_rd_ctrl_file(const char *subsys, const char *cgrp, const char *fil
        if (!cg_build_path_locked(cgrp, path, subsys))
                return ECGFAIL;
 
-       strncat(path, file, sizeof(path) - strlen(path));
+       strncat(path, file, sizeof(path) - strlen(path) - 1);
        ctrl_file = fopen(path, "re");
        if (!ctrl_file)
                return ECGROUPVALUENOTEXIST;