Kernel - Fixing vterm bug with 32-bit input, slight fix to keymap
[tpg/acess2.git] / Kernel / syscalls.c
index 7de7b15..35e4890 100644 (file)
@@ -156,16 +156,18 @@ 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**));
                                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");
@@ -313,7 +315,7 @@ void SyscallHandler(tSyscallRegs *Regs)
        //#if DEBUG_BUILD
        case SYS_DEBUG:
                CHECK_STR_NONULL( (char*)Regs->Arg1 );
-               LogF("Log: [%i] ", Threads_GetTID());
+               LogF("Log: %08lli [%i] ", now(), Threads_GetTID());
                LogF((const char*)Regs->Arg1,
                        Regs->Arg2, Regs->Arg3, Regs->Arg4, Regs->Arg5, Regs->Arg6);
                LogF("\r\n");

UCC git Repository :: git.ucc.asn.au