about summary refs log tree commit diff stats
path: root/src/main.c
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-03-07 16:24:04 +0100
committerptitSeb <sebastien.chev@gmail.com>2022-03-08 17:37:09 +0100
commitff31d0b0233dffa7ec2e05bc1a4f849831fe63f3 (patch)
treeda244effaa33c1ff8cb5741f5d966245ece75be2 /src/main.c
parent652e8318e66d3a7eea6257aca4b3fadf27c0522c (diff)
downloadbox64-ff31d0b0233dffa7ec2e05bc1a4f849831fe63f3.tar.gz
box64-ff31d0b0233dffa7ec2e05bc1a4f849831fe63f3.zip
Better handling of environ and envp in execve
Diffstat (limited to 'src/main.c')
-rwxr-xr-xsrc/main.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/main.c b/src/main.c
index 34d2f58d..1e702aeb 100755
--- a/src/main.c
+++ b/src/main.c
@@ -584,12 +584,12 @@ void LoadEnvPath(path_collection_t *col, const char* defpath, const char* env)
 }
 
 EXPORTDYN
-int CountEnv(const char** env)
+int CountEnv(char** env)
 {
     // count, but remove all BOX64_* environnement
     // also remove PATH and LD_LIBRARY_PATH
     // but add 2 for default BOX64_PATH and BOX64_LD_LIBRARY_PATH
-    const char** p = env;
+    char** p = env;
     int c = 0;
     while(*p) {
         if(strncmp(*p, "BOX64_", 6)!=0)
@@ -600,11 +600,11 @@ int CountEnv(const char** env)
     return c+2;
 }
 EXPORTDYN
-int GatherEnv(char*** dest, const char** env, const char* prog)
+int GatherEnv(char*** dest, char** env, char* prog)
 {
     // Add all but BOX64_* environnement
     // but add 2 for default BOX64_PATH and BOX64_LD_LIBRARY_PATH
-    const char** p = env;    
+    char** p = env;    
     int idx = 0;
     int path = 0;
     int ld_path = 0;
@@ -907,7 +907,7 @@ static void free_contextargv()
         free(my_context->argv[i]);
 }
 
-const char **environ __attribute__((weak)) = NULL;
+extern char** environ;
 int main(int argc, const char **argv, const char **env) {
 
     init_auxval(argc, argv, environ?environ:env);