sys_timerfd() and sys_signalfd() wrappers now interpret their first argument consistently as signed instead of unsigned. Fixes #162663.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8132
This commit is contained in:
Bart Van Assche 2008-05-26 17:16:08 +00:00
parent 49dec598ee
commit dcf69a8cb2

View File

@ -1741,12 +1741,12 @@ PRE(sys_timerfd_create)
if (linux_kernel_2_6_22())
{
/* 2.6.22 kernel: timerfd system call. */
PRINT("sys_timerfd ( %d, %d, %p )", ARG1, ARG2, ARG3);
PRINT("sys_timerfd ( %d, %d, %p )", (int)ARG1, ARG2, ARG3);
PRE_REG_READ3(long, "sys_timerfd",
int, fd, int, clockid, const struct itimerspec *, tmr);
PRE_MEM_READ("timerfd(tmr)", ARG3,
sizeof(struct vki_itimerspec) );
if (ARG1 != -1 && !ML_(fd_allowed)(ARG1, "timerfd", tid, False))
if ((int)ARG1 != -1 && !ML_(fd_allowed)(ARG1, "timerfd", tid, False))
SET_STATUS_Failure( VKI_EBADF );
}
else
@ -2377,11 +2377,11 @@ POST(sys_sigprocmask)
PRE(sys_signalfd)
{
PRINT("sys_signalfd ( %d, %p, %llu )", ARG1, ARG2, (ULong) ARG3);
PRINT("sys_signalfd ( %d, %p, %llu )", (int)ARG1, ARG2, (ULong) ARG3);
PRE_REG_READ3(long, "sys_signalfd",
int, fd, vki_sigset_t *, sigmask, vki_size_t, sigsetsize);
PRE_MEM_READ( "signalfd(sigmask)", ARG2, sizeof(vki_sigset_t) );
if (ARG1 != -1 && !ML_(fd_allowed)(ARG1, "signalfd", tid, False))
if ((int)ARG1 != -1 && !ML_(fd_allowed)(ARG1, "signalfd", tid, False))
SET_STATUS_Failure( VKI_EBADF );
}
POST(sys_signalfd)