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.18-313-g5abe068


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  5abe0682337db0aa15e2adf027d10e5b75b31c5a (commit)
      from  c7738d0822fd34e95ebf01ce8fa8ea397bc4843d (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=5abe0682337db0aa15e2adf027d10e5b75b31c5a

commit 5abe0682337db0aa15e2adf027d10e5b75b31c5a
Author: Richard Sandiford <richard@codesourcery.com>
Date:   Fri Oct 18 20:58:31 2013 +0000

    Fix localedef collation handling of <U0000> (bug 15948).

diff --git a/ChangeLog b/ChangeLog
index c9fd07d..1078b35 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2013-10-18  Richard Sandiford  <richard@codesourcery.com>
+	    Joseph Myers  <joseph@codesourcery.com
+
+	[BZ #15948]
+	* locale/programs/ld-collate.c (new_element): Handle <U0000> as a
+	single character.
+	(add_to_tablewc): Assert sequence of wide characters is nonempty.
+
 2013-10-18  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
 	* elf/tst-tls-dlinfo.c: Don't include tls.h.
diff --git a/NEWS b/NEWS
index 0efdde5..212859c 100644
--- a/NEWS
+++ b/NEWS
@@ -14,9 +14,9 @@ Version 2.19
   15609, 15610, 15632, 15640, 15672, 15680, 15681, 15723, 15734, 15735,
   15736, 15748, 15749, 15754, 15760, 15764, 15797, 15844, 15847, 15849,
   15855, 15856, 15857, 15859, 15867, 15886, 15887, 15890, 15892, 15893,
-  15895, 15897, 15905, 15909, 15919, 15921, 15923, 15939, 15963, 15966,
-  15895, 15897, 15905, 15909, 15919, 15921, 15923, 15939, 15963, 15966,
-  15988, 16032, 16034, 16036, 16041.
+  15895, 15897, 15905, 15909, 15919, 15921, 15923, 15939, 15948, 15963,
+  15966, 15895, 15897, 15905, 15909, 15919, 15921, 15923, 15939, 15963,
+  15966, 15988, 16032, 16034, 16036, 16041.
 
 * CVE-2012-4412 The strcoll implementation caches indices and rules for
   large collation sequences to optimize multiple passes.  This cache
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
index d88a6de..f7ae097 100644
--- a/locale/programs/ld-collate.c
+++ b/locale/programs/ld-collate.c
@@ -352,6 +352,9 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen,
     {
       size_t nwcs = wcslen ((wchar_t *) wcs);
       uint32_t zero = 0;
+      /* Handle <U0000> as a single character.  */
+      if (nwcs == 0)
+	nwcs = 1;
       obstack_grow (&collate->mempool, wcs, nwcs * sizeof (uint32_t));
       obstack_grow (&collate->mempool, &zero, sizeof (uint32_t));
       newp->wcs = (uint32_t *) obstack_finish (&collate->mempool);
@@ -2078,6 +2081,7 @@ add_to_tablewc (uint32_t ch, struct element_t *runp)
 	      weightidx = output_weightwc (atwc.weightpool, atwc.collate,
 					   runp);
 
+	      assert (runp->nwcs > 0);
 	      added = (1 + 1 + runp->nwcs - 1) * sizeof (int32_t);
 	      if (sizeof (int) == sizeof (int32_t))
 		obstack_make_room (atwc.extrapool, added);

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

Summary of changes:
 ChangeLog                    |    8 ++++++++
 NEWS                         |    6 +++---
 locale/programs/ld-collate.c |    4 ++++
 3 files changed, 15 insertions(+), 3 deletions(-)


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]