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])" );
{
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);