cur += sprintf(cur, "%s", argv[i]);
}
- init_module_folders();
+ if (init_module_folders()) {
+ fprintf(stderr, "Failed to find the folder holding the modules\n");
+ return -1;
+ }
if (get_module_path(argv[1])) {
name = argv[1];
static int main_loader(int argc, char **argv)
{
int gl_flags = GLOB_NOESCAPE | GLOB_MARK;
- char *dir = "/etc/modules.d/*";
+ char *dir = "/etc/modules.d/";
struct module *m;
glob_t gl;
char *path;
strcpy(path, dir);
strcat(path, "*");
- if (scan_loaded_modules())
+ if (scan_loaded_modules()) {
+ free (path);
return -1;
+ }
- if (scan_module_folders())
+ if (scan_module_folders()) {
+ free (path);
return -1;
+ }
syslog(LOG_INFO, "kmodloader: loading kernel modules from %s\n", path);