]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/select.c
select: deal with math overflow from borderline valid userland data
[linux-2.6-omap-h63xx.git] / fs / select.c
index 448e44001286754f891249f216f7af3a01d1bfee..87df51eadcf2bd170ab0271e189cf8a580aa1adb 100644 (file)
@@ -519,8 +519,9 @@ asmlinkage long sys_select(int n, fd_set __user *inp, fd_set __user *outp,
                        return -EFAULT;
 
                to = &end_time;
-               if (poll_select_set_timeout(to, tv.tv_sec,
-                                           tv.tv_usec * NSEC_PER_USEC))
+               if (poll_select_set_timeout(to,
+                               tv.tv_sec + (tv.tv_usec / USEC_PER_SEC),
+                               (tv.tv_usec % USEC_PER_SEC) * NSEC_PER_USEC))
                        return -EINVAL;
        }