Resolves: sw14134
- Fix iconv() segfault when the invalid multibyte character 0xffff is input when converting from IBM930.
This commit is contained in:
parent
200aebfe55
commit
1559b7b925
25
glibc-rh823905.patch
Normal file
25
glibc-rh823905.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
diff --git a/iconvdata/ibm930.c b/iconvdata/ibm930.c
|
||||||
|
index 25a9be0..6f758eb 100644
|
||||||
|
--- a/iconvdata/ibm930.c
|
||||||
|
+++ b/iconvdata/ibm930.c
|
||||||
|
@@ -162,7 +162,8 @@ enum
|
||||||
|
while (ch > rp2->end) \
|
||||||
|
++rp2; \
|
||||||
|
\
|
||||||
|
- if (__builtin_expect (ch < rp2->start, 0) \
|
||||||
|
+ if (__builtin_expect (rp2->start == 0xffff, 0) \
|
||||||
|
+ || __builtin_expect (ch < rp2->start, 0) \
|
||||||
|
|| (res = __ibm930db_to_ucs4[ch + rp2->idx], \
|
||||||
|
__builtin_expect (res, L'\1') == L'\0' && ch != '\0')) \
|
||||||
|
{ \
|
||||||
|
@@ -215,7 +216,8 @@ enum
|
||||||
|
while (ch > rp2->end) \
|
||||||
|
++rp2; \
|
||||||
|
\
|
||||||
|
- if (__builtin_expect (ch < rp2->start, 0) \
|
||||||
|
+ if (__builtin_expect (rp2->start == 0xffff, 0) \
|
||||||
|
+ || __builtin_expect (ch < rp2->start, 0) \
|
||||||
|
|| (cp = __ucs4_to_ibm930db[ch + rp2->idx], \
|
||||||
|
__builtin_expect (cp[0], L'\1')== L'\0' && ch != '\0')) \
|
||||||
|
{ \
|
||||||
|
|
10
glibc.spec
10
glibc.spec
@ -28,7 +28,7 @@
|
|||||||
Summary: The GNU libc libraries
|
Summary: The GNU libc libraries
|
||||||
Name: glibc
|
Name: glibc
|
||||||
Version: %{glibcversion}
|
Version: %{glibcversion}
|
||||||
Release: 6%{?dist}
|
Release: 7%{?dist}
|
||||||
# GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
|
# GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
|
||||||
# Things that are linked directly into dynamically linked programs
|
# Things that are linked directly into dynamically linked programs
|
||||||
# and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional
|
# and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional
|
||||||
@ -173,6 +173,9 @@ Patch2034: %{name}-rh804630.patch
|
|||||||
# Upstream BZ 14185
|
# Upstream BZ 14185
|
||||||
Patch2035: %{name}-rh819430.patch
|
Patch2035: %{name}-rh819430.patch
|
||||||
|
|
||||||
|
# Upstream BZ 14134
|
||||||
|
Patch2036: %{name}-rh823905.patch
|
||||||
|
|
||||||
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
Obsoletes: glibc-profile < 2.4
|
Obsoletes: glibc-profile < 2.4
|
||||||
Obsoletes: nss_db
|
Obsoletes: nss_db
|
||||||
@ -423,6 +426,7 @@ rm -rf %{glibcportsdir}
|
|||||||
%patch2034 -p1
|
%patch2034 -p1
|
||||||
%patch0035 -p1
|
%patch0035 -p1
|
||||||
%patch2035 -p1
|
%patch2035 -p1
|
||||||
|
%patch2036 -p1
|
||||||
|
|
||||||
# A lot of programs still misuse memcpy when they have to use
|
# A lot of programs still misuse memcpy when they have to use
|
||||||
# memmove. The memcpy implementation below is not tolerant at
|
# memmove. The memcpy implementation below is not tolerant at
|
||||||
@ -1299,6 +1303,10 @@ rm -f *.filelist*
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jun 1 2012 Patsy Franklin <patsy@redhat.com> - 2.15.90-7
|
||||||
|
- Fix iconv() segfault when the invalid multibyte character 0xffff is input when
|
||||||
|
converting from IBM930 (823905)
|
||||||
|
|
||||||
* Thu May 31 2012 Patsy Franklin <patsy@redhat.com> - 2.15.90-6
|
* Thu May 31 2012 Patsy Franklin <patsy@redhat.com> - 2.15.90-6
|
||||||
- Fix fnmatch() when '*' wildcard is applied on a file name containing multibyte chars. (#819430)
|
- Fix fnmatch() when '*' wildcard is applied on a file name containing multibyte chars. (#819430)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user