git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Usermode/AxWin3 - Debugging IPC
[tpg/acess2.git]
/
Kernel
/
syscalls.c
diff --git
a/Kernel/syscalls.c
b/Kernel/syscalls.c
index
e304b40
..
9775be3
100644
(file)
--- a/
Kernel/syscalls.c
+++ b/
Kernel/syscalls.c
@@
-68,9
+68,6
@@
void SyscallHandler(tSyscallRegs *Regs)
case SYS_CLONE:
// Call clone system call
ret = Proc_Clone(Regs->Arg1);
case SYS_CLONE:
// Call clone system call
ret = Proc_Clone(Regs->Arg1);
- // Change user stack if a new stack address is passed
- if(ret == 0 && Regs->Arg2)
- Regs->StackPointer = Regs->Arg2;
break;
// -- Send a signal
break;
// -- Send a signal
@@
-159,16
+156,19
@@
void SyscallHandler(tSyscallRegs *Regs)
CHECK_NUM_NONULL( &tmp[i], sizeof(char*) );
CHECK_STR_NONULL( tmp[i] );
}
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;
// 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++) {
for(i=0;tmp[i];i++) {
- CHECK_NUM_N
ULLOK
( &tmp[i], sizeof(char*) );
+ CHECK_NUM_N
ONULL
( &tmp[i], sizeof(char*) );
CHECK_STR_NONULL( tmp[i] );
}
CHECK_STR_NONULL( tmp[i] );
}
+ if(ret == -1) break;
}
}
LEAVE('s', "Assuming 0");
}
}
LEAVE('s', "Assuming 0");
@@
-315,8
+315,9
@@
void SyscallHandler(tSyscallRegs *Regs)
// -- Debug
//#if DEBUG_BUILD
case SYS_DEBUG:
// -- Debug
//#if DEBUG_BUILD
case SYS_DEBUG:
+ CHECK_STR_NONULL( (char*)Regs->Arg1 );
LogF("Log: [%i] ", Threads_GetTID());
LogF("Log: [%i] ", Threads_GetTID());
- LogF((char*)Regs->Arg1,
+ LogF((c
onst c
har*)Regs->Arg1,
Regs->Arg2, Regs->Arg3, Regs->Arg4, Regs->Arg5, Regs->Arg6);
LogF("\r\n");
break;
Regs->Arg2, Regs->Arg3, Regs->Arg4, Regs->Arg5, Regs->Arg6);
LogF("\r\n");
break;
UCC
git Repository :: git.ucc.asn.au