Check members of the stack_t structure passed to sigaltstack

individually to avoid problems with padding on 64 bit platforms.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4168
This commit is contained in:
Tom Hughes
2005-07-18 23:18:10 +00:00
parent ada7c716a1
commit 5914fa6a53

View File

@@ -5275,7 +5275,10 @@ PRE(sys_sigaltstack)
PRE_REG_READ2(int, "sigaltstack",
const vki_stack_t *, ss, vki_stack_t *, oss);
if (ARG1 != 0) {
PRE_MEM_READ( "sigaltstack(ss)", ARG1, sizeof(vki_stack_t) );
const vki_stack_t *ss = (vki_stack_t *)ARG1;
PRE_MEM_READ( "sigaltstack(ss)", (Addr)&ss->ss_sp, sizeof(ss->ss_sp) );
PRE_MEM_READ( "sigaltstack(ss)", (Addr)&ss->ss_flags, sizeof(ss->ss_flags) );
PRE_MEM_READ( "sigaltstack(ss)", (Addr)&ss->ss_size, sizeof(ss->ss_size) );
}
if (ARG2 != 0) {
PRE_MEM_WRITE( "sigaltstack(oss)", ARG2, sizeof(vki_stack_t) );