]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
api: Fix clang warning
authorTom Hromatka <tom.hromatka@oracle.com>
Tue, 29 Jul 2025 16:07:27 +0000 (16:07 +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:3784:24: warning: the value of the size argument in 'strncat' is
too large, might lead to a buffer overflow [-Wstrncat-size]
 3784 |         strncat(path, d_name, sizeof(path) - strlen(path));
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
api.c:3784:24: note: change the argument to be the free space in the
destination buffer minus the terminating null byte
 3784 |         strncat(path, d_name, 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 435d3679f8f8ff410e245564a5d51f6d5db27fb1..c2f07fc395763c1d6973441c5f0745208f7eda8e 100644 (file)
--- a/src/api.c
+++ b/src/api.c
@@ -3781,7 +3781,7 @@ int cgroup_fill_cgc(struct dirent *ctrl_dir, struct cgroup *cgrp, struct cgroup_
         * sort of a flag, but this is fine for now.
         */
        cg_build_path_locked(cgrp->name, path, cg_mount_table[cg_index].name);
-       strncat(path, d_name, sizeof(path) - strlen(path));
+       strncat(path, d_name, sizeof(path) - strlen(path) - 1);
 
        error = stat(path, &stat_buffer);
        if (error) {