From: Joseph Myers Date: Fri, 5 Jun 2015 21:31:39 +0000 (+0000) Subject: Fix regex wcrtomb namespace (bug 18496). X-Git-Tag: glibc-2.22~226 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a5f0adb39b3a029b3fcd1b0d879eb45d9bd742cd;p=thirdparty%2Fglibc.git Fix regex wcrtomb namespace (bug 18496). The regex code brings in references to wcrtomb, which isn't in all the standards that contain regex. This patch makes it call __wcrtomb instead (in fact some places already called __wcrtomb, so this patch makes it internally consistent about which name is used). Tested for x86_64 and x86 that installed stripped shared libraries are unchanged by the patch. [BZ #18496] * posix/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb instead of wcrtomb. --- diff --git a/ChangeLog b/ChangeLog index ec0086be6f7..19f45eb99d8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2015-06-05 Joseph Myers + [BZ #18496] + * posix/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb + instead of wcrtomb. + [BZ #18483] * signal/signal.h [__USE_XOPEN2K] (psignal): Change condition to [__USE_XOPEN2K8]. Remove redundant #endif. diff --git a/NEWS b/NEWS index 17fd20735ac..3fc313c8bad 100644 --- a/NEWS +++ b/NEWS @@ -20,7 +20,7 @@ Version 2.22 18111, 18116, 18125, 18128, 18138, 18185, 18196, 18197, 18206, 18210, 18211, 18217, 18220, 18221, 18234, 18244, 18247, 18287, 18319, 18324, 18333, 18346, 18397, 18409, 18410, 18412, 18418, 18422, 18434, 18444, - 18468, 18469, 18470, 18483, 18495. + 18468, 18469, 18470, 18483, 18495, 18496. * Cache information can be queried via sysconf() function on s390 e.g. with _SC_LEVEL1_ICACHE_SIZE as argument. diff --git a/posix/regex_internal.c b/posix/regex_internal.c index d77d3a14dce..8597d7ed9a3 100644 --- a/posix/regex_internal.c +++ b/posix/regex_internal.c @@ -317,7 +317,7 @@ build_wcs_upper_buffer (re_string_t *pstr) size_t mbcdlen; wcu = __towupper (wc); - mbcdlen = wcrtomb (buf, wcu, &prev_st); + mbcdlen = __wcrtomb (buf, wcu, &prev_st); if (BE (mbclen == mbcdlen, 1)) memcpy (pstr->mbs + byte_idx, buf, mbclen); else @@ -387,7 +387,7 @@ build_wcs_upper_buffer (re_string_t *pstr) size_t mbcdlen; wcu = __towupper (wc); - mbcdlen = wcrtomb ((char *) buf, wcu, &prev_st); + mbcdlen = __wcrtomb ((char *) buf, wcu, &prev_st); if (BE (mbclen == mbcdlen, 1)) memcpy (pstr->mbs + byte_idx, buf, mbclen); else if (mbcdlen != (size_t) -1)