Browse Source

kmodloader: fix GCC fanalyzer warnings

memory leaks and missing NULL checks.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Rosen Penev 1 year ago
parent
commit
4c7b720b9c
1 changed files with 12 additions and 0 deletions
  1. 12 0
      kmodloader.c

+ 12 - 0
kmodloader.c

@@ -336,6 +336,11 @@ static int scan_loaded_modules(void)
 			/* possibly a module outside /lib/modules/<ver>/ */
 			n = alloc_module(m.name, NULL, 0, m.depends, m.size);
 		}
+		if (!n) {
+			ULOG_ERR("Failed to allocate memory for module\n");
+			return -1;
+		}
+
 		n->usage = m.usage;
 		n->state = LOADED;
 	}
@@ -583,6 +588,11 @@ static int insert_module(char *path, const char *options)
 	struct stat s;
 	int fd, ret = -1;
 
+	if (!path) {
+		ULOG_ERR("Path not specified\n");
+		return ret;
+	}
+
 	if (stat(path, &s)) {
 		ULOG_ERR("missing module %s\n", path);
 		return ret;
@@ -1164,6 +1174,8 @@ load_options(void)
 			continue;
 		}
 	}
+
+	fclose(f);
 }
 
 int main(int argc, char **argv)