This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.17-551-gff491d1


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  ff491d14a2c7329e4b61cb9d937203d4139954f9 (commit)
      from  7ed3f4e859896fbb8d384a4f101e40df47eb0ef0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=ff491d14a2c7329e4b61cb9d937203d4139954f9

commit ff491d14a2c7329e4b61cb9d937203d4139954f9
Author: Siddhesh Poyarekar <siddhesh@redhat.com>
Date:   Tue Apr 23 15:32:42 2013 +0530

    Consistently use ISSPACE to check for whitespace
    
    Resolves #14888.
    
    This only really manifests itself when there are no spaces between
    format specifiers, which is not allowed by POSIX, but is allowed by
    the glibc implementation.

diff --git a/ChangeLog b/ChangeLog
index 9a54ec7..164026b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2013-04-23  Siddhesh Poyarekar  <siddhesh@redhat.com>
+
+	[BZ #14888]
+	* time/Makefile (tests): Add tst-strptime-whitespace.
+	* time/strptime_l.c (get_number): Use ISSPACE.
+	(__strptime_internal): Likewise.
+	* time/tst-strptime-whitespace.c: New test case.
+
 2013-04-23  Andreas Schwab  <schwab@linux-m68k.org>
 
 	* nss/nss_files/files-init.c (TF): Don't initialize flexible array
diff --git a/NEWS b/NEWS
index e2d71be..a1aeb42 100644
--- a/NEWS
+++ b/NEWS
@@ -11,10 +11,10 @@ Version 2.18
 
   10060, 10062, 10357, 11120, 11561, 12723, 13550, 13889, 13951, 13988,
   14142, 14176, 14200, 14293, 14317, 14327, 14478, 14496, 14686, 14812,
-  14920, 14964, 14981, 14982, 14985, 14994, 14996, 15003, 15006, 15020,
-  15023, 15036, 15054, 15055, 15062, 15078, 15160, 15214, 15232, 15234,
-  15283, 15285, 15287, 15304, 15305, 15307, 15309, 15327, 15330, 15335,
-  15336, 15337, 15342, 15346, 15361.
+  14888, 14920, 14964, 14981, 14982, 14985, 14994, 14996, 15003, 15006,
+  15020, 15023, 15036, 15054, 15055, 15062, 15078, 15160, 15214, 15232,
+  15234, 15283, 15285, 15287, 15304, 15305, 15307, 15309, 15327, 15330,
+  15335, 15336, 15337, 15342, 15346, 15361.
 
 * CVE-2013-0242 Buffer overrun in regexp matcher has been fixed (Bugzilla
   #15078).
diff --git a/time/Makefile b/time/Makefile
index a230268..7f4a7fc 100644
--- a/time/Makefile
+++ b/time/Makefile
@@ -35,7 +35,7 @@ aux :=	    era alt_digit lc-time-cleanup
 tests	:= test_time clocktest tst-posixtz tst-strptime tst_wcsftime \
 	   tst-getdate tst-mktime tst-mktime2 tst-ftime_l tst-strftime \
 	   tst-mktime3 tst-strptime2 bug-asctime bug-asctime_r bug-mktime1 \
-	   tst-strptime3 bug-getdate1
+	   tst-strptime3 bug-getdate1 tst-strptime-whitespace
 
 include ../Rules
 
diff --git a/time/strptime_l.c b/time/strptime_l.c
index 89daffa..1f2e8b6 100644
--- a/time/strptime_l.c
+++ b/time/strptime_l.c
@@ -72,7 +72,7 @@ localtime_r (t, tp)
   do {									      \
     int __n = n;							      \
     val = 0;								      \
-    while (*rp == ' ')							      \
+    while (ISSPACE (*rp))						      \
       ++rp;								      \
     if (*rp < '0' || *rp > '9')						      \
       return NULL;							      \
@@ -752,7 +752,7 @@ __strptime_internal (rp, fmt, tmp, statep LOCALE_PARAM)
 	     also specified.  */
 	  {
 	    val = 0;
-	    while (*rp == ' ')
+	    while (ISSPACE (*rp))
 	      ++rp;
 	    if (*rp != '+' && *rp != '-')
 	      return NULL;
diff --git a/time/tst-strptime-whitespace.c b/time/tst-strptime-whitespace.c
new file mode 100644
index 0000000..d2ceca3
--- /dev/null
+++ b/time/tst-strptime-whitespace.c
@@ -0,0 +1,43 @@
+/* Verify that strptime accepts arbitrary whitespace between tokens.
+
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define _XOPEN_SOURCE
+#include <time.h>
+#include <stdio.h>
+#include <string.h>
+
+int
+do_test (void)
+{
+  struct tm t;
+  const char *in = "Tuesday \t 22 \t July\t1942";
+
+  char *r = strptime (in, "%A%d %b%Y", &t);
+
+  if (r == NULL || r != in + strlen (in))
+    {
+      printf ("strptime failed\n");
+      return 1;
+    }
+
+  return 0;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |    8 +++++
 NEWS                                               |    8 +++---
 time/Makefile                                      |    2 +-
 time/strptime_l.c                                  |    4 +-
 .../tst-strptime-whitespace.c                      |   29 +++++++-------------
 5 files changed, 25 insertions(+), 26 deletions(-)
 copy posix/bug-regex35.c => time/tst-strptime-whitespace.c (68%)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]