Add patch to conditionalize a fix for an old and long fixed bug

in libcrypt / glibc (rhbz#1536752)
This commit is contained in:
Björn Esser 2018-01-20 20:44:19 +01:00
parent 794e8e0c66
commit 6ce0d0b76e
No known key found for this signature in database
GPG Key ID: F52E98007594C21D
2 changed files with 34 additions and 1 deletions

View File

@ -0,0 +1,24 @@
commit 13e70b397dcb0d1bf4a869b670f041c1d7b730d0
Author: Björn Esser <besser82@fedoraproject.org>
Date: Sat Jan 20 20:22:53 2018 +0100
pp: Guard fix for really old bug in glibc libcrypt
diff --git a/pp.c b/pp.c
index d50ad7ddbf..6510c7b15c 100644
--- a/pp.c
+++ b/pp.c
@@ -3650,8 +3650,12 @@ PP(pp_crypt)
#if defined(__GLIBC__) || defined(__EMX__)
if (PL_reentrant_buffer->_crypt_struct_buffer) {
PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0;
- /* work around glibc-2.2.5 bug */
+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \
+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4)
+ /* work around glibc-2.2.5 bug, has been fixed at some
+ * time in glibc-2.3.X */
PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0;
+#endif
}
#endif
}

View File

@ -79,7 +79,7 @@ License: GPL+ or Artistic
Epoch: %{perl_epoch}
Version: %{perl_version}
# release number must be even higher, because dual-lived modules will be broken otherwise
Release: 403%{?dist}
Release: 404%{?dist}
Summary: Practical Extraction and Report Language
Url: http://www.perl.org/
Source0: http://www.cpan.org/src/5.0/perl-%{perl_version}.tar.bz2
@ -263,6 +263,10 @@ Patch200: perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li
# Link XS modules to libperl.so with EU::MM on Linux, bug #960048
Patch201: perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-MM-on-Linux.patch
# Conditionalize a fix for an old and long fixed bug
# in libcrypt / glibc, rhbz#1536752
Patch202: perl-5.26.1-guard_old_libcrypt_fix.patch
# Update some of the bundled modules
# see http://fedoraproject.org/wiki/Perl/perl.spec for instructions
@ -2851,6 +2855,7 @@ Perl extension for Version Objects
%patch77 -p1
%patch200 -p1
%patch201 -p1
%patch202 -p1
%if !%{defined perl_bootstrap}
# Local patch tracking
@ -5180,6 +5185,10 @@ popd
# Old changelog entries are preserved in CVS.
%changelog
* Sat Jan 20 2018 Björn Esser <besser82@fedoraproject.org> - 4:5.26.1-404
- Add patch to conditionalize a fix for an old and long fixed bug
in libcrypt / glibc (rhbz#1536752)
* Mon Jan 15 2018 Petr Pisar <ppisar@redhat.com> - 4:5.26.1-403
- Rebuild against glibc without nsl library