kmodloader: Fix NULL pointer dereferences error
authorChristian Marangi <ansuelsmth@gmail.com>
Sun, 21 Jan 2024 23:39:50 +0000 (00:39 +0100)
committerChristian Marangi <ansuelsmth@gmail.com>
Sun, 21 Jan 2024 23:51:56 +0000 (00:51 +0100)
Fix NULL pointer dereferences reported by Coverity Scan.
Return early instead of jumping to out and trying to fclose a NULL
pointer.

Fix
- CID 1586642: Null pointer dereferences (FORWARD_NULL)
- CID 1586641: Null pointer dereferences (FORWARD_NULL)

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
kmodloader.c

index b4ef52a519ea01cafbf37a53f42dc583c76e5113..2cb6088c1fe21f0cb28e641a93244cb2b4265eb4 100644 (file)
@@ -328,7 +328,7 @@ static int scan_loaded_modules(void)
        fp = fopen("/proc/modules", "r");
        if (!fp) {
                ULOG_ERR("failed to open /proc/modules\n");
-               goto out;
+               return -1;
        }
 
        while (getline(&buf, &buf_len, fp) > 0) {
@@ -499,7 +499,7 @@ static int scan_builtin_modules(void)
        int rv = -1;
 
        if (!module_folders && init_module_folders())
-               goto err;
+               return -1;
        for (p = module_folders; *p; p++) {
                snprintf(path, sizeof(path), "%s%s", *p, MOD_BUILTIN);
                if (!stat(path, &st) && S_ISREG(st.st_mode)) {
@@ -509,7 +509,7 @@ static int scan_builtin_modules(void)
                }
        }
        if (!fp)
-               goto out;       /* OK if modules.builtin unavailable */
+               return 0;       /* OK if modules.builtin unavailable */
 
        while (getline(&buf, &buf_len, fp) > 0) {
                struct module *m;
@@ -529,7 +529,7 @@ static int scan_builtin_modules(void)
                        goto err;
                }
        }
-out:
+
        rv = 0;
 err:
        free(buf);