r2518 - in glibc-package/branches/glibc-branch-etch/debian: . patches patches/any
Author: aurel32
Date: 2007-08-16 22:26:24 +0000 (Thu, 16 Aug 2007)
New Revision: 2518
Added:
glibc-package/branches/glibc-branch-etch/debian/patches/any/cvs-vfscanf.diff
Modified:
glibc-package/branches/glibc-branch-etch/debian/changelog
glibc-package/branches/glibc-branch-etch/debian/patches/series
Log:
* patches/any/cvs-vfscanf.diff: add additional test for EOF
in loop to look for conversion specifier to avoid testing of
wrong errno value. Closes: #426000.
Modified: glibc-package/branches/glibc-branch-etch/debian/changelog
===================================================================
--- glibc-package/branches/glibc-branch-etch/debian/changelog 2007-08-16 22:00:36 UTC (rev 2517)
+++ glibc-package/branches/glibc-branch-etch/debian/changelog 2007-08-16 22:26:24 UTC (rev 2518)
@@ -1,3 +1,11 @@
+glibc (2.3.6.ds1-13etch4) stable; urgency=low
+
+ * patches/any/cvs-vfscanf.diff: add additional test for EOF
+ in loop to look for conversion specifier to avoid testing of
+ wrong errno value. Closes: #426000.
+
+ -- Aurelien Jarno <aurel32@debian.org> Fri, 17 Aug 2007 00:24:28 +0200
+
glibc (2.3.6.ds1-13etch3) stable; urgency=low
* patches/any/cvs-nscd-free.diff: fix nscd crash. Closes: #425404.
Added: glibc-package/branches/glibc-branch-etch/debian/patches/any/cvs-vfscanf.diff
===================================================================
--- glibc-package/branches/glibc-branch-etch/debian/patches/any/cvs-vfscanf.diff (rev 0)
+++ glibc-package/branches/glibc-branch-etch/debian/patches/any/cvs-vfscanf.diff 2007-08-16 22:26:24 UTC (rev 2518)
@@ -0,0 +1,28 @@
+===================================================================
+RCS file: /cvs/glibc/libc/stdio-common/vfscanf.c,v
+retrieving revision 1.110.2.6
+retrieving revision 1.110.2.7
+diff -u -r1.110.2.6 -r1.110.2.7
+--- libc/stdio-common/vfscanf.c 2007/05/04 10:05:57 1.110.2.6
++++ libc/stdio-common/vfscanf.c 2007/07/08 10:08:25 1.110.2.7
+@@ -530,12 +530,17 @@
+ {
+ /* Eat whitespace. */
+ int save_errno = errno;
+- errno = 0;
++ __set_errno (0);
+ do
+- if (__builtin_expect (inchar () == EOF && errno == EINTR, 0))
++ /* We add the additional test for EOF here since otherwise
++ inchar will restore the old errno value which might be
++ EINTR but does not indicate an interrupt since nothing
++ was read at this time. */
++ if (__builtin_expect ((c == EOF || inchar () == EOF)
++ && errno == EINTR, 0))
+ input_error ();
+ while (ISSPACE (c));
+- errno = save_errno;
++ __set_errno (save_errno);
+ ungetc (c, s);
+ skip_space = 0;
+ }
Modified: glibc-package/branches/glibc-branch-etch/debian/patches/series
===================================================================
--- glibc-package/branches/glibc-branch-etch/debian/patches/series 2007-08-16 22:00:36 UTC (rev 2517)
+++ glibc-package/branches/glibc-branch-etch/debian/patches/series 2007-08-16 22:26:24 UTC (rev 2518)
@@ -153,6 +153,7 @@
any/cvs-tls-crashfix.diff -p1
any/cvs-tst-setcontext_c.diff -p1
any/cvs-resource_h.diff -p1
+any/cvs-vfscanf.diff -p1
any/cvs-zdump-64-bit.diff -p1
any/local-asserth-decls.diff -p0
#any/local-base.diff -p0 # g: suspended
Reply to: