This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.16-ports-merge-193-gb3f479a
- From: aj at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 15 Aug 2012 19:08:23 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.16-ports-merge-193-gb3f479a
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 b3f479a85a3e191befbe821d787d7f71c0f64e79 (commit)
from 9c55864e0de4b774396b9021fad62916e5a9f5a5 (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://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=b3f479a85a3e191befbe821d787d7f71c0f64e79
commit b3f479a85a3e191befbe821d787d7f71c0f64e79
Author: Liubov Dmitrieva <liubov.dmitrieva@gmail.com>
Date: Wed Aug 15 21:06:55 2012 +0200
Fix segmentation fault in strncasecmp for i686
2012-08-15 Liubov Dmitrieva <liubov.dmitrieva@gmail.com>
[BZ #14195]
* sysdeps/i386/i686/multiarch/strcmp-sssse3.S: Fix
segmentation fault for a case of two empty input strings.
* string/test-strncasecmp.c (check1): Renamed to...
(bz12205): ...this.
(bz14195): Add new testcase for two empty input strings and N > 0.
(test_main): Call new testcase, adapt for renamed function.
diff --git a/ChangeLog b/ChangeLog
index addbf25..41aacc8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2012-08-15 Liubov Dmitrieva <liubov.dmitrieva@gmail.com>
+
+ [BZ #14195]
+ * sysdeps/i386/i686/multiarch/strcmp-sssse3.S: Fix
+ segmentation fault for a case of two empty input strings.
+ * string/test-strncasecmp.c (check1): Renamed to...
+ (bz12205): ...this.
+ (bz14195): Add new testcase for two empty input strings and N > 0.
+ (test_main): Call new testcase, adapt for renamed function.
+
2012-08-15 Andreas Jaeger <aj@suse.de>
[BZ #14090]
diff --git a/NEWS b/NEWS
index 119f929..de9580d 100644
--- a/NEWS
+++ b/NEWS
@@ -10,8 +10,8 @@ Version 2.17
* The following bugs are resolved with this release:
6778, 6808, 13717, 13939, 14042, 14090, 14166, 14150, 14151, 14154, 14157,
- 14166, 14173, 14283, 14298, 14303, 14307, 14328, 14331, 14336, 14337,
- 14347, 14349
+ 14166, 14173, 14195, 14283, 14298, 14303, 14307, 14328, 14331, 14336,
+ 14337, 14347, 14349
* Support for STT_GNU_IFUNC symbols added for s390 and s390x.
Optimized versions of memcpy, memset, and memcmp added for System z10 and
diff --git a/string/test-strncasecmp.c b/string/test-strncasecmp.c
index 6c17530..acfe668 100644
--- a/string/test-strncasecmp.c
+++ b/string/test-strncasecmp.c
@@ -1,5 +1,5 @@
/* Test and measure strncasecmp functions.
- Copyright (C) 1999, 2002, 2003, 2005, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1999-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Jakub Jelinek <jakub@redhat.com>, 1999.
@@ -251,9 +251,9 @@ do_random_tests (void)
}
}
-
+/* Regression test for BZ #12205 */
static void
-check1 (void)
+bz12205 (void)
{
static char cp [4096+16] __attribute__ ((aligned(4096)));
static char gotrel[4096] __attribute__ ((aligned(4096)));
@@ -270,6 +270,15 @@ check1 (void)
check_result (impl, s1, s2, n, exp_result);
}
+/* Regression test for BZ #14195 */
+static void
+bz14195 (void)
+{
+ const char *empty_string = "";
+ FOR_EACH_IMPL (impl, 0)
+ check_result (impl, empty_string, "", 5, 0);
+}
+
int
test_main (void)
{
@@ -277,7 +286,8 @@ test_main (void)
test_init ();
- check1 ();
+ bz12205 ();
+ bz14195 ();
printf ("%23s", "");
FOR_EACH_IMPL (impl, 0)
diff --git a/sysdeps/i386/i686/multiarch/strcmp-ssse3.S b/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
old mode 100644
new mode 100755
index 5e6321e..9735ad0
--- a/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
+++ b/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
@@ -2445,7 +2445,7 @@ L(less16bytes_sncmp):
# endif
jne L(neq_sncmp)
test %cl, %cl
- je L(eq)
+ je L(eq_sncmp)
cmp $1, REM
je L(eq_sncmp)
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 10 ++++++++++
NEWS | 4 ++--
string/test-strncasecmp.c | 18 ++++++++++++++----
sysdeps/i386/i686/multiarch/strcmp-ssse3.S | 2 +-
4 files changed, 27 insertions(+), 7 deletions(-)
mode change 100644 => 100755 sysdeps/i386/i686/multiarch/strcmp-ssse3.S
diff --git a/ChangeLog b/ChangeLog
index addbf25..41aacc8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2012-08-15 Liubov Dmitrieva <liubov.dmitrieva@gmail.com>
+
+ [BZ #14195]
+ * sysdeps/i386/i686/multiarch/strcmp-sssse3.S: Fix
+ segmentation fault for a case of two empty input strings.
+ * string/test-strncasecmp.c (check1): Renamed to...
+ (bz12205): ...this.
+ (bz14195): Add new testcase for two empty input strings and N > 0.
+ (test_main): Call new testcase, adapt for renamed function.
+
2012-08-15 Andreas Jaeger <aj@suse.de>
[BZ #14090]
diff --git a/NEWS b/NEWS
index 119f929..de9580d 100644
--- a/NEWS
+++ b/NEWS
@@ -10,8 +10,8 @@ Version 2.17
* The following bugs are resolved with this release:
6778, 6808, 13717, 13939, 14042, 14090, 14166, 14150, 14151, 14154, 14157,
- 14166, 14173, 14283, 14298, 14303, 14307, 14328, 14331, 14336, 14337,
- 14347, 14349
+ 14166, 14173, 14195, 14283, 14298, 14303, 14307, 14328, 14331, 14336,
+ 14337, 14347, 14349
* Support for STT_GNU_IFUNC symbols added for s390 and s390x.
Optimized versions of memcpy, memset, and memcmp added for System z10 and
diff --git a/string/test-strncasecmp.c b/string/test-strncasecmp.c
index 6c17530..acfe668 100644
--- a/string/test-strncasecmp.c
+++ b/string/test-strncasecmp.c
@@ -1,5 +1,5 @@
/* Test and measure strncasecmp functions.
- Copyright (C) 1999, 2002, 2003, 2005, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1999-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Jakub Jelinek <jakub@redhat.com>, 1999.
@@ -251,9 +251,9 @@ do_random_tests (void)
}
}
-
+/* Regression test for BZ #12205 */
static void
-check1 (void)
+bz12205 (void)
{
static char cp [4096+16] __attribute__ ((aligned(4096)));
static char gotrel[4096] __attribute__ ((aligned(4096)));
@@ -270,6 +270,15 @@ check1 (void)
check_result (impl, s1, s2, n, exp_result);
}
+/* Regression test for BZ #14195 */
+static void
+bz14195 (void)
+{
+ const char *empty_string = "";
+ FOR_EACH_IMPL (impl, 0)
+ check_result (impl, empty_string, "", 5, 0);
+}
+
int
test_main (void)
{
@@ -277,7 +286,8 @@ test_main (void)
test_init ();
- check1 ();
+ bz12205 ();
+ bz14195 ();
printf ("%23s", "");
FOR_EACH_IMPL (impl, 0)
diff --git a/sysdeps/i386/i686/multiarch/strcmp-ssse3.S b/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
old mode 100644
new mode 100755
index 5e6321e..9735ad0
--- a/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
+++ b/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
@@ -2445,7 +2445,7 @@ L(less16bytes_sncmp):
# endif
jne L(neq_sncmp)
test %cl, %cl
- je L(eq)
+ je L(eq_sncmp)
cmp $1, REM
je L(eq_sncmp)
hooks/post-receive
--
GNU C Library master sources