X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fmodules-load.c;h=8dd98f73d82482a30bd9945d8cab97ebf43e61d4;hp=d76defa515732896d61f2d11a9ce1e7b6b432860;hb=ba1d5596354e3299d5b9b995bb0fa9b3bdd285cc;hpb=223a35581604897185c46dfc184b0fa32916d59b diff --git a/src/modules-load.c b/src/modules-load.c index d76defa51..8dd98f73d 100644 --- a/src/modules-load.c +++ b/src/modules-load.c @@ -46,6 +46,8 @@ int main(int argc, char *argv[]) { log_parse_environment(); log_open(); + umask(0022); + if (!(arguments = strv_new("/sbin/modprobe", "-sab", "--", NULL))) { log_error("Failed to allocate string array"); goto finish; @@ -75,7 +77,6 @@ int main(int argc, char *argv[]) { continue; log_error("Failed to open %s: %m", *fn); - free(fn); r = EXIT_FAILURE; continue; } @@ -129,6 +130,7 @@ finish: if (n_arguments > 3) { arguments[n_arguments] = NULL; + strv_uniq(arguments); execv("/sbin/modprobe", arguments); log_error("Failed to execute /sbin/modprobe: %m");