aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2014-09-16 11:17:04 +0200
committerAndreas Schwab <schwab@suse.de>2019-02-04 15:45:02 +0100
commit65f7767a914144ae303f7b9ae81865061793dcb9 (patch)
tree9af5f491383e603957b206d18336972572cde7c1 /sysdeps
parent3f635fb43389b54f682fc9ed2acc0b2aaf4a923d (diff)
downloadglibc-65f7767a914144ae303f7b9ae81865061793dcb9.tar
glibc-65f7767a914144ae303f7b9ae81865061793dcb9.tar.gz
glibc-65f7767a914144ae303f7b9ae81865061793dcb9.tar.bz2
glibc-65f7767a914144ae303f7b9ae81865061793dcb9.zip
Fix handling of collating elements in fnmatch (bug 17396, bug 16976)
This fixes the same bug in fnmatch that was fixed by commit 7e2f0d2d77 for regexp matching. As a side effect it also removes the use of an unbound VLA.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/i386/i686/multiarch/wmemcmp.c3
-rw-r--r--sysdeps/s390/wmemcmp.c7
-rw-r--r--sysdeps/x86_64/multiarch/wmemcmp.c3
3 files changed, 8 insertions, 5 deletions
diff --git a/sysdeps/i386/i686/multiarch/wmemcmp.c b/sysdeps/i386/i686/multiarch/wmemcmp.c
index ce25991352..7674530c68 100644
--- a/sysdeps/i386/i686/multiarch/wmemcmp.c
+++ b/sysdeps/i386/i686/multiarch/wmemcmp.c
@@ -26,5 +26,6 @@
# define SYMBOL_NAME wmemcmp
# include "ifunc-ssse3-sse4_2.h"
-libc_ifunc_redirected (__redirect_wmemcmp, wmemcmp, IFUNC_SELECTOR ());
+libc_ifunc_redirected (__redirect_wmemcmp, __wmemcmp, IFUNC_SELECTOR ());
+weak_alias (__wmemcmp, wmemcmp)
#endif
diff --git a/sysdeps/s390/wmemcmp.c b/sysdeps/s390/wmemcmp.c
index ec0b4027f8..2f619550a6 100644
--- a/sysdeps/s390/wmemcmp.c
+++ b/sysdeps/s390/wmemcmp.c
@@ -23,16 +23,17 @@
# include <ifunc-resolve.h>
# if HAVE_WMEMCMP_C
-extern __typeof (wmemcmp) WMEMCMP_C attribute_hidden;
+extern __typeof (__wmemcmp) WMEMCMP_C attribute_hidden;
# endif
# if HAVE_WMEMCMP_Z13
-extern __typeof (wmemcmp) WMEMCMP_Z13 attribute_hidden;
+extern __typeof (__wmemcmp) WMEMCMP_Z13 attribute_hidden;
# endif
-s390_libc_ifunc_expr (wmemcmp, wmemcmp,
+s390_libc_ifunc_expr (__wmemcmp, __wmemcmp,
(HAVE_WMEMCMP_Z13 && (hwcap & HWCAP_S390_VX))
? WMEMCMP_Z13
: WMEMCMP_DEFAULT
)
+weak_alias (__wmemcmp, wmemcmp)
#endif
diff --git a/sysdeps/x86_64/multiarch/wmemcmp.c b/sysdeps/x86_64/multiarch/wmemcmp.c
index 136a7b05e1..826c90bb77 100644
--- a/sysdeps/x86_64/multiarch/wmemcmp.c
+++ b/sysdeps/x86_64/multiarch/wmemcmp.c
@@ -26,5 +26,6 @@
# define SYMBOL_NAME wmemcmp
# include "ifunc-memcmp.h"
-libc_ifunc_redirected (__redirect_wmemcmp, wmemcmp, IFUNC_SELECTOR ());
+libc_ifunc_redirected (__redirect_wmemcmp, __wmemcmp, IFUNC_SELECTOR ());
+weak_alias (__wmemcmp, wmemcmp)
#endif