blob: 586b5aab7d08594d6de72c352d947f4493baf086 [file] [log] [blame]
From 96026a3763264eb41a2c3e374f232f6e543284a8 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 9 Nov 2016 19:33:49 -0800
Subject: [PATCH 08/19] nspawn: Use execvpe only when libc supports it
Upstream-Status: Denied [no desire for uclibc support]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/nspawn/nspawn.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
index 9b9ae90..19b47cd 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
@@ -123,6 +123,8 @@ typedef enum LinkJournal {
LINK_GUEST
} LinkJournal;
+#include "config.h"
+
static char *arg_directory = NULL;
static char *arg_template = NULL;
static char *arg_chdir = NULL;
@@ -2871,7 +2873,12 @@ static int inner_child(
a[0] = (char*) "/sbin/init";
execve(a[0], a, env_use);
} else if (!strv_isempty(arg_parameters))
+#ifdef HAVE_EXECVPE
execvpe(arg_parameters[0], arg_parameters, env_use);
+#else
+ environ = env_use;
+ execvp(arg_parameters[0], arg_parameters);
+#endif /* HAVE_EXECVPE */
else {
if (!arg_chdir)
/* If we cannot change the directory, we'll end up in /, that is expected. */
--
2.10.2