Fix checking of execve() when argv is a null pointer.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2520
This commit is contained in:
Tom Hughes 2004-07-21 16:23:38 +00:00
parent f153a0209b
commit 3a75fc74df
2 changed files with 3 additions and 4 deletions

View File

@ -1803,7 +1803,8 @@ PRE(execve)
MAYBE_PRINTF("execve ( %p(%s), %p, %p )\n", arg1, arg1, arg2, arg3);
SYSCALL_TRACK( pre_mem_read_asciiz, tid, "execve(filename)", arg1 );
pre_argv_envp( arg2, tid, "execve(argv)", "execve(argv[i])" );
if (arg2 != (UInt)NULL)
pre_argv_envp( arg2, tid, "execve(argv)", "execve(argv[i])" );
if (arg3 != (UInt)NULL)
pre_argv_envp( arg3, tid, "execve(envp)", "execve(envp[i])" );

View File

@ -6,9 +6,7 @@ int main(int argc, char **argv)
{
if (argc == 1)
{
char *newargv[3] = { argv[0], "done", NULL };
if (execve(argv[0], newargv, NULL) < 0)
if (execve(argv[0], NULL, NULL) < 0)
{
perror("execve");
exit(1);