kmodloader: fix open() error handling
[project/ubox.git] / kmodloader.c
index b09a323..86e3f44 100644 (file)
@@ -281,7 +281,7 @@ static struct module* get_module_info(const char *module, const char *name)
        struct module *m;
        struct stat s;
 
-       if (!fd) {
+       if (fd < 0) {
                ULOG_ERR("failed to open %s\n", module);
                return NULL;
        }
@@ -381,7 +381,7 @@ static int print_modinfo(char *module)
        struct stat s;
        char *map, *strings;
 
-       if (!fd) {
+       if (fd < 0) {
                ULOG_ERR("failed to open %s\n", module);
                return -1;
        }
@@ -466,7 +466,7 @@ static int insert_module(char *path, const char *options)
        }
 
        fd = open(path, O_RDONLY);
-       if (!fd) {
+       if (fd < 0) {
                ULOG_ERR("cannot open %s\n", path);
                return ret;
        }
@@ -593,6 +593,8 @@ static int main_insmod(int argc, char **argv)
                cur += sprintf(cur, "%s", argv[i]);
        }
 
+       init_module_folders();
+
        if (get_module_path(argv[1])) {
                name = argv[1];
        } else if (!get_module_path(name)) {
@@ -749,7 +751,7 @@ static int main_loader(int argc, char **argv)
        if (scan_module_folders())
                return -1;
 
-       syslog(0, "kmodloader: loading kernel modules from %s\n", path);
+       syslog(LOG_INFO, "kmodloader: loading kernel modules from %s\n", path);
 
        if (glob(path, gl_flags, NULL, &gl) < 0)
                goto out;