Fix crash when no environment is given to execve.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4169
This commit is contained in:
Tom Hughes
2005-07-18 23:23:03 +00:00
parent 5914fa6a53
commit 9a1ea2d7cc

View File

@@ -2280,7 +2280,7 @@ void VG_(reap_threads)(ThreadId self)
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);
@@ -2333,8 +2333,8 @@ PRE(sys_execve)
// 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 );
}