diff options
Diffstat (limited to 'nptl/sysdeps/unix/sysv')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S | 4 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S index 305fa4d5d7..1d24b1a1e1 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S +++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S @@ -55,6 +55,10 @@ __pthread_cond_timedwait: movl 20(%esp), %ebx movl 28(%esp), %ebp + cmpl $1000000000, 4(%ebp) + movl $EINVAL, %eax + jae 18f + /* Get internal lock. */ movl $1, %edx xorl %eax, %eax diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S index e75f05e07f..5c6a471096 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S @@ -54,6 +54,11 @@ __pthread_cond_timedwait: #define FRAME_SIZE 80 subq $FRAME_SIZE, %rsp .Lsubq: + + cmpq $1000000000, 8(%rdx) + movl $EINVAL, %rax + jae 18f + /* Stack frame: rsp + 80 |