]> xenbits.xensource.com Git - unikraft/libs/musl.git/commitdiff
Add patch to fix definition of environ variable
authorRazvan Deaconescu <razvand@unikraft.io>
Tue, 29 Nov 2022 20:34:46 +0000 (22:34 +0200)
committerUnikraft <monkey@unikraft.io>
Tue, 29 Nov 2022 23:10:47 +0000 (23:10 +0000)
The patch properly defines `environ` as an array of pointers, the last
of which is NULL. In the previous definition, `environ` was NULL, which
is not OK. The definition is now replaced to an array of a single NULL
element.

Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com>
Approved-by: Simon Kuenzer <simon@unikraft.io>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #30

patches/0021-src-env-Properly-define-environ-variable.patch [new file with mode: 0644]

diff --git a/patches/0021-src-env-Properly-define-environ-variable.patch b/patches/0021-src-env-Properly-define-environ-variable.patch
new file mode 100644 (file)
index 0000000..65f8ded
--- /dev/null
@@ -0,0 +1,34 @@
+From 17ebbfdf54bf48906e9a794858e82a22b4a79e92 Mon Sep 17 00:00:00 2001
+Message-Id: <17ebbfdf54bf48906e9a794858e82a22b4a79e92.1669753860.git.razvand@unikraft.io>
+From: Razvan Deaconescu <razvand@unikraft.io>
+Date: Tue, 29 Nov 2022 22:29:40 +0200
+Subject: [PATCH] src/env: Properly define environ variable
+
+`environ` is an array of pointers, the last element of which is the NULL
+pointer. The current definition of `environ` defines it as NULL, not as
+an array of pointers.
+
+This commit changes that, and defines `environ` as an array with a
+single NULL element.
+
+Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
+---
+ src/env/__environ.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/env/__environ.c b/src/env/__environ.c
+index e6c6faa..689b834 100644
+--- a/src/env/__environ.c
++++ b/src/env/__environ.c
+@@ -1,6 +1,7 @@
+ #include "libc.h"
+-char **__environ = 0;
++static char *init_environ[] = { NULL };
++char **__environ = init_environ;
+ weak_alias(__environ, ___environ);
+ weak_alias(__environ, _environ);
+ weak_alias(__environ, environ);
+-- 
+2.17.1
+