X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fsyscalls.c;h=9775be394ca919356499fb5f95a4f716467953d2;hb=504e0f27f9240f083cefdc9f8dd7fefe0af544cc;hp=7de7b15d5c9fef0c4ef80f7d9333346c2af802b7;hpb=61c8b3334fb9bb3c1fb48d9f1f3508ffbe5341bf;p=tpg%2Facess2.git diff --git a/Kernel/syscalls.c b/Kernel/syscalls.c index 7de7b15d..9775be39 100644 --- a/Kernel/syscalls.c +++ b/Kernel/syscalls.c @@ -156,16 +156,19 @@ void SyscallHandler(tSyscallRegs *Regs) CHECK_NUM_NONULL( &tmp[i], sizeof(char*) ); CHECK_STR_NONULL( tmp[i] ); } + if(ret == -1) break; // Check EnvP also // - EnvP can be NULL if( Regs->Arg3 ) { tmp = (char**)Regs->Arg3; - //Log("tmp = %p", tmp); + CHECK_NUM_NONULL(tmp, sizeof(char**)); + Log("tmp = %p", tmp); for(i=0;tmp[i];i++) { - CHECK_NUM_NULLOK( &tmp[i], sizeof(char*) ); + CHECK_NUM_NONULL( &tmp[i], sizeof(char*) ); CHECK_STR_NONULL( tmp[i] ); } + if(ret == -1) break; } } LEAVE('s', "Assuming 0");