diff options
author | Allan McRae <allan@archlinux.org> | 2012-07-16 11:23:39 +1000 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2013-01-17 22:32:54 +1000 |
commit | 60b192e3836a150eb6950ce52241efebbee00f11 (patch) | |
tree | e410679b2663dda78e8f57540cc125c976023447 | |
parent | 9c160cf3f3cbda5fe5b6188e9e31775b71fc5bab (diff) | |
download | pacman-60b192e3836a150eb6950ce52241efebbee00f11.tar.xz |
Use execvp for running programs in chroot
This makes us more robust to utilities changing paths. There is no
functional change when a full path is specified.
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | lib/libalpm/util.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c index c88326f2..be20ddee 100644 --- a/lib/libalpm/util.c +++ b/lib/libalpm/util.c @@ -549,9 +549,9 @@ int _alpm_run_chroot(alpm_handle_t *handle, const char *cmd, char *const argv[]) exit(1); } umask(0022); - execv(cmd, argv); - /* execv only returns if there was an error */ - fprintf(stderr, _("call to execv failed (%s)\n"), strerror(errno)); + execvp(cmd, argv); + /* execvp only returns if there was an error */ + fprintf(stderr, _("call to execvp failed (%s)\n"), strerror(errno)); exit(1); } else { /* this code runs for the parent only (wait on the child) */ |