diff options
author | Ian Stakenvicius <axs@gentoo.org> | 2013-01-04 16:17:39 -0500 |
---|---|---|
committer | Ian Stakenvicius <axs@gentoo.org> | 2013-01-04 16:22:36 -0500 |
commit | 374546c2398cce814fdb904c807d3878df025c56 (patch) | |
tree | 5b971a9e4333781c2ca05fa7e16d6df9e4c4e757 /src | |
parent | 8638965ac29853404154c3cd165e50056756c391 (diff) |
Fix bugs in execv() calls to modprobe
Change the execv() call to an execvp() call so that --with-modprobe="modprobe"
is supported; also added the command as argv[0] in the call to execvp(), which
fixes the failures when 'modprobe' is a symlink to kmod
Signed off by ryao
Diffstat (limited to 'src')
-rw-r--r-- | src/libudev/util.c | 2 | ||||
-rw-r--r-- | src/udev/udev-builtin-kmod.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/libudev/util.c b/src/libudev/util.c index d8c5bb2e1e..92fd22775b 100644 --- a/src/libudev/util.c +++ b/src/libudev/util.c @@ -4312,7 +4312,7 @@ int execute_command(const char *command, char *const argv[]) if (pid == 0) { - execv(command, argv); + execvp(command, argv); log_error("Failed to execute %s: %m", command); _exit(EXIT_FAILURE); diff --git a/src/udev/udev-builtin-kmod.c b/src/udev/udev-builtin-kmod.c index 89c7ab0b77..300090a5b9 100644 --- a/src/udev/udev-builtin-kmod.c +++ b/src/udev/udev-builtin-kmod.c @@ -68,7 +68,7 @@ static int load_module(struct udev *udev, char *const alias) kmod_module_unref_list(list); return err; #else - char * const argv[] = { "-bq", alias, 0 }; + char * const argv[] = { MODPROBE, "-bq", alias, 0 }; return execute_command(MODPROBE, argv); #endif } |