Hi, I believe I found a memory leak in your code. In the file: /src/env/putenv.c In the function: int __putenv(char *s, size_t l, char *r); The variable `static char **oldenv` is passed to a free in line 29: `free(oldenv);`. The variable is a 2d pointer and therefore all contents within it should be freed. By freeing only oldenv all the lines of `__environ` are lost. Possible hotfix: ``` for (int j = 0; oldenv[j]; ++j) free(oldenv[j]); free(oldenv); ``` Thank you for your support and dedication, Luca