commit b186646a945e0d41dfccd035710c521b0961a71a Author: Petr Písař <ppisar@xxxxxxxxxx> Date: Fri Jun 28 14:12:28 2013 +0200 Deal with calling destructor multiple times Digest-SHA-5.84-repeated_shaclose.patch | 30 ++++++++++++++++++++++++++++++ perl-Digest-SHA.spec | 8 +++++++- 2 files changed, 37 insertions(+), 1 deletions(-) --- diff --git a/Digest-SHA-5.84-repeated_shaclose.patch b/Digest-SHA-5.84-repeated_shaclose.patch new file mode 100644 index 0000000..ce08e9d --- /dev/null +++ b/Digest-SHA-5.84-repeated_shaclose.patch @@ -0,0 +1,30 @@ +Workaround for repeated calls to shaclose() + +CPAN RT#86295 +Ported from Digest-SHA-5.85. + +diff -Naru Digest-SHA-5.84/lib/Digest/SHA.pm Digest-SHA-5.85/lib/Digest/SHA.pm +--- Digest-SHA-5.84/lib/Digest/SHA.pm 2013-03-10 01:36:10.000000000 +0100 ++++ Digest-SHA-5.85/lib/Digest/SHA.pm 2013-06-26 13:05:27.000000000 +0200 +@@ -62,7 +62,7 @@ + + sub DESTROY { + my $self = shift; +- shaclose($$self) if $$self; ++ if ($$self) { shaclose($$self); $$self = undef } + } + + sub clone { +diff -Naru Digest-SHA-5.84/SHA.xs Digest-SHA-5.85/SHA.xs +--- Digest-SHA-5.84/SHA.xs 2013-03-09 21:38:02.000000000 +0100 ++++ Digest-SHA-5.85/SHA.xs 2013-06-23 17:16:35.000000000 +0200 +@@ -31,6 +31,9 @@ + int + shaclose(s) + SHA * s ++CODE: ++ RETVAL = shaclose(s); ++ sv_setiv(SvRV(ST(0)), 0); + + int + shadump(file, s) diff --git a/perl-Digest-SHA.spec b/perl-Digest-SHA.spec index 6d9110e..dbba683 100644 --- a/perl-Digest-SHA.spec +++ b/perl-Digest-SHA.spec @@ -1,7 +1,7 @@ Name: perl-Digest-SHA Epoch: 1 Version: 5.74 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Perl extension for SHA-1/224/256/384/512 License: GPL+ or Artistic Group: Development/Libraries @@ -10,6 +10,8 @@ Source0: http://www.cpan.org/authors/id/M/MS/MSHELOR/Digest-SHA-%{version # Fix double-free when loading Digest::SHA object # https://rt.cpan.org/Public/Bug/Display.html?id=82655 Patch0: Digest-SHA-5.81-Fix-RT82655.patch +# Fix for multiple destructor call, CPAN RT#86295 +Patch1: Digest-SHA-5.84-repeated_shaclose.patch BuildRequires: perl(ExtUtils::MakeMaker) # Run-time @@ -39,6 +41,7 @@ handle all types of input, including partial-byte data. %prep %setup -q -n Digest-SHA-%{version} %patch0 -p1 +%patch1 -p1 chmod -x examples/* perl -MExtUtils::MakeMaker -e 'ExtUtils::MM_Unix->fixin(q{examples/dups})' @@ -64,6 +67,9 @@ make test %{_mandir}/man3/* %changelog +* Fri Jun 28 2013 Petr Pisar <ppisar@xxxxxxxxxx> - 1:5.74-4 +- Deal with calling destructor multiple times (CPAN RT#86295) + * Wed Jan 16 2013 Jitka Plesnikova <jplesnik@xxxxxxxxxx> - 1:5.74-3 - Add patch to fix RT#82655. -- Fedora Extras Perl SIG http://www.fedoraproject.org/wiki/Extras/SIGs/Perl perl-devel mailing list perl-devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/perl-devel