PRE(sys_execve)
{
Char* path; /* path to executable */
- Char** envp;
+ Char** envp = NULL;
ThreadState* tst;
PRINT("sys_execve ( %p(%s), %p, %p )", ARG1, ARG1, ARG2, ARG3);
// stage1/2 will set up the appropriate client environment.
// Nb: we make a copy of the environment before trying to mangle it
// as it might be in read-only memory (this was bug #101881).
- envp = VG_(env_clone)( (Char**)ARG3 );
- if (envp != NULL) {
+ if (ARG3 != NULL) {
+ envp = VG_(env_clone)( (Char**)ARG3 );
VG_(env_remove_valgrind_env_stuff)( envp );
}