[arch-commits] Commit in lib32-glibc/trunk (2 files)

Jan Steffens heftig at nymeria.archlinux.org
Sat Nov 9 15:24:23 UTC 2013


    Date: Saturday, November 9, 2013 @ 16:24:23
  Author: heftig
Revision: 100724

2.18-10

Added:
  lib32-glibc/trunk/glibc-2.18-scanf-parse-0e-0.patch
Modified:
  lib32-glibc/trunk/PKGBUILD

-----------------------------------+
 PKGBUILD                          |    7 +++
 glibc-2.18-scanf-parse-0e-0.patch |   67 ++++++++++++++++++++++++++++++++++++
 2 files changed, 73 insertions(+), 1 deletion(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-11-09 15:11:30 UTC (rev 100723)
+++ PKGBUILD	2013-11-09 15:24:23 UTC (rev 100724)
@@ -9,7 +9,7 @@
 _pkgbasename=glibc
 pkgname=lib32-$_pkgbasename
 pkgver=2.18
-pkgrel=9
+pkgrel=10
 pkgdesc="GNU C Library for multilib"
 arch=('x86_64')
 url="http://www.gnu.org/software/libc"
@@ -24,6 +24,7 @@
         glibc-2.18-ptr-mangle-CVE-2013-4788.patch
         glibc-2.18-getaddrinfo-CVE-2013-4458.patch
         glibc-2.18-getaddrinfo-assertion.patch
+        glibc-2.18-scanf-parse-0e-0.patch
         glibc-2.18-strstr-hackfix.patch
         lib32-glibc.conf)
 md5sums=('88fbbceafee809e82efd52efa1e3c58f'
@@ -35,6 +36,7 @@
          '9749ba386b08a8fe53e7ecede9bf2dfb'
          '71329fccb8eb583fb0d67b55f1e8df68'
          'd4d86add33f22125777e0ecff06bc9bb'
+         '01d19fe9b2aea489cf5651530e0369f2'
          '4441f6dfe7d75ced1fa75e54dd21d36e'
          '6e052f1cb693d5d3203f50f9d4e8c33b')
 
@@ -62,6 +64,9 @@
   # upstream commit 894f3f10
   patch -p1 -i $srcdir/glibc-2.18-getaddrinfo-assertion.patch
 
+  # upstream commit a4966c61
+  patch -p1 -i $srcdir/glibc-2.18-scanf-parse-0e-0.patch
+
   # hack fix for strstr issues on x86
   patch -p1 -i $srcdir/glibc-2.18-strstr-hackfix.patch
 

Added: glibc-2.18-scanf-parse-0e-0.patch
===================================================================
--- glibc-2.18-scanf-parse-0e-0.patch	                        (rev 0)
+++ glibc-2.18-scanf-parse-0e-0.patch	2013-11-09 15:24:23 UTC (rev 100724)
@@ -0,0 +1,67 @@
+diff --git a/stdio-common/tst-sscanf.c b/stdio-common/tst-sscanf.c
+index 1edb227..3c34f58 100644
+--- a/stdio-common/tst-sscanf.c
++++ b/stdio-common/tst-sscanf.c
+@@ -109,6 +109,19 @@ struct test double_tests[] =
+   { L("-inf"), L("%g"), 1 }
+ };
+ 
++struct test2
++{
++  const CHAR *str;
++  const CHAR *fmt;
++  int retval;
++  char residual;
++} double_tests2[] =
++{
++  { L("0e+0"), L("%g%c"), 1, 0 },
++  { L("0xe+0"), L("%g%c"), 2, '+' },
++  { L("0x.e+0"), L("%g%c"), 2, '+' },
++};
++
+ int
+ main (void)
+ {
+@@ -196,5 +209,26 @@ main (void)
+ 	}
+     }
+ 
++  for (i = 0; i < sizeof (double_tests2) / sizeof (double_tests2[0]); ++i)
++    {
++      double dummy;
++      int ret;
++      char c = 0;
++
++      if ((ret = SSCANF (double_tests2[i].str, double_tests2[i].fmt,
++			 &dummy, &c)) != double_tests2[i].retval)
++	{
++	  printf ("double_tests2[%d] returned %d != %d\n",
++		  i, ret, double_tests2[i].retval);
++	  result = 1;
++	}
++      else if (ret == 2 && c != double_tests2[i].residual)
++	{
++	  printf ("double_tests2[%d] stopped at '%c' != '%c'\n",
++		  i, c, double_tests2[i].residual);
++	  result = 1;
++	}
++    }
++
+   return result;
+ }
+diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c
+index 78dc2fc..e6fa8f3 100644
+--- a/stdio-common/vfscanf.c
++++ b/stdio-common/vfscanf.c
+@@ -1966,6 +1966,8 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr,
+ 		  if (width > 0)
+ 		    --width;
+ 		}
++	      else
++		got_digit = 1;
+ 	    }
+ 
+ 	  while (1)
+-- 
+1.8.4.2
+




More information about the arch-commits mailing list