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 | 39 |
1 files changed, 18 insertions, 21 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 index ea8b3ffb19..449c27f88c 100644 --- a/meta-systemd/recipes-core/systemd/systemd/systemd-pam-fix-execvpe.patch +++ b/meta-systemd/recipes-core/systemd/systemd/systemd-pam-fix-execvpe.patch @@ -1,29 +1,26 @@ ---- 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" +Index: git/src/nspawn/nspawn.c +=================================================================== +--- git.orig/src/nspawn/nspawn.c 2012-09-22 17:57:05.000000000 -0700 ++++ git/src/nspawn/nspawn.c 2012-09-22 18:01:41.541405768 -0700 +@@ -63,6 +63,8 @@ + LINK_GUEST + } LinkJournal; +#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) { +@@ -1373,7 +1375,12 @@ + a[0] = (char*) "/sbin/init"; + execve(a[0], a, (char**) envp); + } else if (argc > optind) +#ifdef HAVE_EXECVPE -+ execvpe(argv[optind], argv + optind, (char**) envp); + 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); - } ++ environ = (char **)envp; ++ execvp(argv[optind], argv + optind); ++#endif /* HAVE_EXECVPE */ + else { + chdir(home ? home : "/root"); + execle("/bin/bash", "-bash", NULL, (char**) envp); |