]> git.ipfire.org Git - thirdparty/kmod.git/commitdiff
Use sizeof() over PATH_MAX in snprintf() contexts
authorEmil Velikov <emil.l.velikov@gmail.com>
Sat, 5 Apr 2025 10:39:42 +0000 (11:39 +0100)
committerLucas De Marchi <lucas.de.marchi@gmail.com>
Fri, 9 May 2025 18:52:46 +0000 (13:52 -0500)
Bunch of our codebase uses sizeof() while the rest hard-coded length for
the destination buffer. Converge on the former since it makes for more
obvious and less error prone code.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/345
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
libkmod/libkmod-builtin.c
shared/tmpfile-util.c
tools/depmod.c

index f354d455d8ae631a0b6835552c1fecc1543db265..b32848d955f82b27763b38ea7eb000984f5345a8 100644 (file)
@@ -44,7 +44,7 @@ static bool kmod_builtin_info_init(struct kmod_builtin_info *info, struct kmod_c
                errno = ENAMETOOLONG;
                return false;
        }
-       snprintf(path, PATH_MAX, "%s/" MODULES_BUILTIN_MODINFO, dirname);
+       snprintf(path, sizeof(path), "%s/" MODULES_BUILTIN_MODINFO, dirname);
 
        fp = fopen(path, "r");
        if (fp == NULL)
index 4d6fc5570a508f3896b32c32ec345781302a810a..c9c20d23c5449e4093b45cbb2411c8781ad29ce6 100644 (file)
@@ -31,8 +31,8 @@ FILE *tmpfile_openat(int dirfd, mode_t mode, struct tmpfile *file)
        if (targetdir == NULL)
                goto create_fail;
 
-       n = snprintf(tmpfile_path, PATH_MAX, "%s/%s", targetdir, tmpname_tmpl);
-       if (n < 0 || n >= PATH_MAX)
+       n = snprintf(tmpfile_path, sizeof(tmpfile_path), "%s/%s", targetdir, tmpname_tmpl);
+       if (n < 0 || n >= (int)sizeof(tmpfile_path))
                goto create_fail;
 
        fd = mkstemp(tmpfile_path);
index fb5d426a4f7e3fcf66d1d38a467fe40de426bbfc..cd29bf4fbe69fe18f60116b32322be21e9fea3b3 100644 (file)
@@ -3011,17 +3011,17 @@ static int do_depmod(int argc, char *argv[])
        while (module_directory[0] == '/')
                module_directory++;
 
-       cfg.dirnamelen = snprintf(cfg.dirname, PATH_MAX, "%s/%s/%s", root,
+       cfg.dirnamelen = snprintf(cfg.dirname, sizeof(cfg.dirname), "%s/%s/%s", root,
                                  module_directory, cfg.kversion);
-       if (cfg.dirnamelen >= PATH_MAX) {
+       if (cfg.dirnamelen >= sizeof(cfg.dirname)) {
                ERR("Bad directory %s/%s/%s: path too long\n", root, module_directory,
                    cfg.kversion);
                goto cmdline_failed;
        }
 
-       cfg.outdirnamelen = snprintf(cfg.outdirname, PATH_MAX, "%s/%s/%s",
+       cfg.outdirnamelen = snprintf(cfg.outdirname, sizeof(cfg.outdirname), "%s/%s/%s",
                                     out_root ?: root, module_directory, cfg.kversion);
-       if (cfg.outdirnamelen >= PATH_MAX) {
+       if (cfg.outdirnamelen >= sizeof(cfg.outdirname)) {
                ERR("Bad directory %s/%s/%s: path too long\n", out_root ?: root,
                    module_directory, cfg.kversion);
                goto cmdline_failed;