diff options
Diffstat (limited to 'meta-systemd/recipes-core/systemd/systemd/systemd-pam-fix-execvpe.patch')
-rw-r--r-- | meta-systemd/recipes-core/systemd/systemd/systemd-pam-fix-execvpe.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/meta-systemd/recipes-core/systemd/systemd/systemd-pam-fix-execvpe.patch b/meta-systemd/recipes-core/systemd/systemd/systemd-pam-fix-execvpe.patch new file mode 100644 index 0000000000..ea8b3ffb19 --- /dev/null +++ b/meta-systemd/recipes-core/systemd/systemd/systemd-pam-fix-execvpe.patch @@ -0,0 +1,29 @@ +--- systemd-pam-185/src/nspawn/nspawn.c.orig 2012-06-21 05:31:24.000000000 -0400 ++++ systemd-pam-185/src/nspawn/nspawn.c 2012-06-21 05:29:50.000000000 -0400 +@@ -61,6 +61,8 @@ + #include "path-util.h" + #include "loopback-setup.h" + ++#include "config.h" ++ + static char *arg_directory = NULL; + static char *arg_user = NULL; + static char **arg_controllers = NULL; +@@ -1315,9 +1317,14 @@ + + a[0] = (char*) "/sbin/init"; + execve(a[0], a, (char**) envp); +- } else if (argc > optind) +- execvpe(argv[optind], argv + optind, (char**) envp); +- else { ++ } else if (argc > optind) { ++#ifdef HAVE_EXECVPE ++ execvpe(argv[optind], argv + optind, (char**) envp); ++#else ++ environ = (char **)envp; ++ execvp(argv[optind], argv + optind); ++#endif /* HAVE_EXECVPE */ ++ } else { + chdir(home ? home : "/root"); + execle("/bin/bash", "-bash", NULL, (char**) envp); + } |