]> git.ipfire.org Git - thirdparty/kmod.git/commitdiff
Use sizeof() over PATH_MAX for bounds handling
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
libkmod/libkmod-module.c
shared/tmpfile-util.c

index b32848d955f82b27763b38ea7eb000984f5345a8..2012239ad4af1826420ffeb0b5755a28356a5f2a 100644 (file)
@@ -40,7 +40,7 @@ static bool kmod_builtin_info_init(struct kmod_builtin_info *info, struct kmod_c
        const char *dirname = kmod_get_dirname(ctx);
        size_t len = strlen(dirname);
 
-       if ((len + 1 + strlen(MODULES_BUILTIN_MODINFO) + 1) >= PATH_MAX) {
+       if ((len + 1 + strlen(MODULES_BUILTIN_MODINFO) + 1) >= sizeof(path)) {
                errno = ENAMETOOLONG;
                return false;
        }
index ff04ee19f4a224123dad16b86f57c942f33f9d76..fbfbd7b9b76f52c63679ba89d2cbf35b4385c462 100644 (file)
@@ -127,7 +127,7 @@ void kmod_module_parse_depline(struct kmod_module *mod, char *line)
        *p = '\0';
        dirname = kmod_get_dirname(mod->ctx);
        dirnamelen = strlen(dirname);
-       if (dirnamelen + 2 >= PATH_MAX)
+       if (dirnamelen + 2 >= sizeof(buf))
                return;
 
        memcpy(buf, dirname, dirnamelen);
@@ -301,7 +301,7 @@ int kmod_module_new_from_alias(struct kmod_ctx *ctx, const char *alias, const ch
        size_t namelen = strlen(name);
        size_t aliaslen = strlen(alias);
 
-       if (namelen + aliaslen + 2 > PATH_MAX)
+       if (namelen + aliaslen + 2 > sizeof(key))
                return -ENAMETOOLONG;
 
        memcpy(key, name, namelen);
index c9c20d23c5449e4093b45cbb2411c8781ad29ce6..1548d2d0853c0ba822e0cf707428c2e37caf9b98 100644 (file)
@@ -69,7 +69,7 @@ int tmpfile_publish(struct tmpfile *file, const char *targetname)
 
        file->fd = -1;
        file->dirfd = -1;
-       memset(file->tmpname, 0, PATH_MAX);
+       memset(file->tmpname, 0, sizeof(file->tmpname));
 
        return 0;
 }