r5076 - in glibc-package/trunk/debian: . patches patches/hurd-i386
Author: sthibault
Date: 2011-12-12 23:10:21 +0000 (Mon, 12 Dec 2011)
New Revision: 5076
Added:
glibc-package/trunk/debian/patches/hurd-i386/submitted-mach-nanosleep.diff
Modified:
glibc-package/trunk/debian/changelog
glibc-package/trunk/debian/patches/series
Log:
patches/hurd-i386/submitted-mach-nanosleep.diff: New patch from Pino to reject some nanosleep parameters values.
Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog 2011-12-12 23:09:59 UTC (rev 5075)
+++ glibc-package/trunk/debian/changelog 2011-12-12 23:10:21 UTC (rev 5076)
@@ -1,10 +1,15 @@
eglibc (2.13-23) UNRELEASED; urgency=low
+ [ Aurelien Jarno ]
* patches/arm/cvs-syscall-mcount.diff: new patch from upstream to fix
build on armel.
- -- Aurelien Jarno <aurel32@debian.org> Sat, 10 Dec 2011 23:36:21 +0100
+ [ Samuel Thibault ]
+ * patches/hurd-i386/submitted-mach-nanosleep.diff: New patch from Pino to
+ reject some nanosleep parameters values.
+ -- Samuel Thibault <sthibault@debian.org> Tue, 13 Dec 2011 00:05:49 +0100
+
eglibc (2.13-22) unstable; urgency=low
[ Adam Conrad ]
Added: glibc-package/trunk/debian/patches/hurd-i386/submitted-mach-nanosleep.diff
===================================================================
--- glibc-package/trunk/debian/patches/hurd-i386/submitted-mach-nanosleep.diff (rev 0)
+++ glibc-package/trunk/debian/patches/hurd-i386/submitted-mach-nanosleep.diff 2011-12-12 23:10:21 UTC (rev 5076)
@@ -0,0 +1,37 @@
+http://cygwin.com/ml/libc-alpha/2011-12/msg00020.html
+
+mach: nanosleep: check for invalid parameter values
+
+Check for invalid values of the `requested_time' parameters; move the
+calculation of `ms' after the validation of `requested_time'.
+
+2011-12-10 Pino Toscano <toscano.pino@tiscali.it>
+
+ * sysdeps/mach/nanosleep.c (__nanosleep): Return EINVAL for negative
+ seconds or nanoseconds of `requested_time', or for nanoseconds equal
+ or greater than 1000000000.
+--- a/sysdeps/mach/nanosleep.c
++++ b/sysdeps/mach/nanosleep.c
+@@ -28,11 +28,19 @@ __nanosleep (const struct timespec *requ
+ {
+ mach_port_t recv;
+ struct timeval before, after;
+- const mach_msg_timeout_t ms
+- = requested_time->tv_sec * 1000
+- + (requested_time->tv_nsec + 999999) / 1000000;
++ mach_msg_timeout_t ms;
++
++ if (requested_time->tv_sec < 0
++ || requested_time->tv_nsec < 0
++ || requested_time->tv_nsec >= 1000000000)
++ {
++ errno = EINVAL;
++ return -1;
++ }
+
+ recv = __mach_reply_port ();
++ ms = requested_time->tv_sec * 1000
++ + (requested_time->tv_nsec + 999999) / 1000000;
+
+ if (remaining && __gettimeofday (&before, NULL) < 0)
+ return -1;
Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series 2011-12-12 23:09:59 UTC (rev 5075)
+++ glibc-package/trunk/debian/patches/series 2011-12-12 23:10:21 UTC (rev 5076)
@@ -171,6 +171,7 @@
hurd-i386/submitted-select-inputcheck.diff
hurd-i386/local-select.diff
hurd-i386/submitted-posix2008.diff
+hurd-i386/submitted-mach-nanosleep.diff
kfreebsd/submitted-libc_once.diff
Reply to: