aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-core/systemd/systemd-v189/systemd-pam-fix-execvpe.patch
blob: ea8b3ffb190e198a9f90907972ec8f237d0226a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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);
                 }