Thu Jan 17 13:29:59 2013 UTC ()
Work around a NULL dereference (bug report was submitted upstream)


(manu)
diff -r1.193 -r1.194 pkgsrc/lang/perl5/Makefile
diff -r1.90 -r1.91 pkgsrc/lang/perl5/distinfo
diff -r0 -r1.1 pkgsrc/lang/perl5/patches/patch-hv.c

cvs diff -r1.193 -r1.194 pkgsrc/lang/perl5/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/perl5/Makefile 2013/01/03 10:11:34 1.193
+++ pkgsrc/lang/perl5/Makefile 2013/01/17 13:29:59 1.194
@@ -1,20 +1,20 @@ @@ -1,20 +1,20 @@
1# $NetBSD: Makefile,v 1.193 2013/01/03 10:11:34 dholland Exp $ 1# $NetBSD: Makefile,v 1.194 2013/01/17 13:29:59 manu Exp $
2 2
3.include "license.mk" 3.include "license.mk"
4.include "Makefile.common" 4.include "Makefile.common"
5 5
6COMMENT= Practical Extraction and Report Language 6COMMENT= Practical Extraction and Report Language
7PKGREVISION= 2 7PKGREVISION= 3
8 8
9CONFLICTS= perl-base-[0-9]* perl-thread-[0-9]* \ 9CONFLICTS= perl-base-[0-9]* perl-thread-[0-9]* \
10 p5-CGI-2.66{,nb*} p5-CGI-2.75{,nb*} p5-CGI-2.75.[0-2] \ 10 p5-CGI-2.66{,nb*} p5-CGI-2.75{,nb*} p5-CGI-2.75.[0-2] \
11 p5-Tie-File-0.96{,nb*} \ 11 p5-Tie-File-0.96{,nb*} \
12 p5-Memoize-1.01{,nb*} \ 12 p5-Memoize-1.01{,nb*} \
13 p5-I18N-LangTags<0.35 \ 13 p5-I18N-LangTags<0.35 \
14 p5-Locale-Maketext-1.[0-9]*{,nb*} \ 14 p5-Locale-Maketext-1.[0-9]*{,nb*} \
15 p5-Locale-Maketext-Simple<0.21 \ 15 p5-Locale-Maketext-Simple<0.21 \
16 p5-Digest<=1.16 \ 16 p5-Digest<=1.16 \
17 p5-Digest-MD5<=2.39 \ 17 p5-Digest-MD5<=2.39 \
18 p5-Digest-SHA<2.48 18 p5-Digest-SHA<2.48
19 19
20SUPERSEDES+= p5-Tie-File<0.97 20SUPERSEDES+= p5-Tie-File<0.97

cvs diff -r1.90 -r1.91 pkgsrc/lang/perl5/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/perl5/distinfo 2013/01/03 10:11:34 1.90
+++ pkgsrc/lang/perl5/distinfo 2013/01/17 13:29:59 1.91
@@ -1,22 +1,23 @@ @@ -1,22 +1,23 @@
1$NetBSD: distinfo,v 1.90 2013/01/03 10:11:34 dholland Exp $ 1$NetBSD: distinfo,v 1.91 2013/01/17 13:29:59 manu Exp $
2 2
3SHA1 (perl-5.16.2.tar.gz) = 9e20e38e3460ebbac895341fd70a02189d03a490 3SHA1 (perl-5.16.2.tar.gz) = 9e20e38e3460ebbac895341fd70a02189d03a490
4RMD160 (perl-5.16.2.tar.gz) = 84f0233ac48059b4636661b023dd8a3389f9ae64 4RMD160 (perl-5.16.2.tar.gz) = 84f0233ac48059b4636661b023dd8a3389f9ae64
5Size (perl-5.16.2.tar.gz) = 16933974 bytes 5Size (perl-5.16.2.tar.gz) = 16933974 bytes
6SHA1 (patch-aa) = 9066746c6e6ed0d58962f52de1ae773e210cfcb5 6SHA1 (patch-aa) = 9066746c6e6ed0d58962f52de1ae773e210cfcb5
7SHA1 (patch-ab) = a9c674c5b09700d13fa885f11a3525d6d54899b5 7SHA1 (patch-ab) = a9c674c5b09700d13fa885f11a3525d6d54899b5
8SHA1 (patch-ac) = cd918ae7aedddfcd3d555a1d1388c4c8719ccd12 8SHA1 (patch-ac) = cd918ae7aedddfcd3d555a1d1388c4c8719ccd12
9SHA1 (patch-ah) = f66b496ba8f7b7d3e5a1f0c6f03d051a652f426e 9SHA1 (patch-ah) = f66b496ba8f7b7d3e5a1f0c6f03d051a652f426e
10SHA1 (patch-aq) = 4bf5a76f0277b0939b2ca7720f4bb045a788b5cc 10SHA1 (patch-aq) = 4bf5a76f0277b0939b2ca7720f4bb045a788b5cc
11SHA1 (patch-ca) = 30450f739f51a07825442744d6c38b27b58ddd87 11SHA1 (patch-ca) = 30450f739f51a07825442744d6c38b27b58ddd87
12SHA1 (patch-ch) = 5b6a89c82e158bab0a5f06add48c28e600678099 12SHA1 (patch-ch) = 5b6a89c82e158bab0a5f06add48c28e600678099
13SHA1 (patch-ck) = 5c381db130cdf4c315678e2d65380eaaa3065fee 13SHA1 (patch-ck) = 5c381db130cdf4c315678e2d65380eaaa3065fee
14SHA1 (patch-cn) = d1877383e213a414562b5bb4c1e8aa785926fab7 14SHA1 (patch-cn) = d1877383e213a414562b5bb4c1e8aa785926fab7
15SHA1 (patch-cp) = 0b22d334df24d128142855464bf6dd61d4d82975 15SHA1 (patch-cp) = 0b22d334df24d128142855464bf6dd61d4d82975
16SHA1 (patch-cpan_Sys-Syslog_Syslog.xs) = 4413010d0b55a0ae636bca8ff3ace2ebc99e90ba 16SHA1 (patch-cpan_Sys-Syslog_Syslog.xs) = 4413010d0b55a0ae636bca8ff3ace2ebc99e90ba
17SHA1 (patch-dist_Locale-Maketext_lib_Locale_Maketext.pm) = d44647f32d356030c8c2cd6346559f613a7fe459 17SHA1 (patch-dist_Locale-Maketext_lib_Locale_Maketext.pm) = d44647f32d356030c8c2cd6346559f613a7fe459
18SHA1 (patch-hints_netbsd.sh) = 8a0656a72e81461f461757712b7fc27ad8928028 18SHA1 (patch-hints_netbsd.sh) = 8a0656a72e81461f461757712b7fc27ad8928028
19SHA1 (patch-hints_solaris_2.sh) = 26f804234c07da04ebd6c33ce7ad54d94c746f1e 19SHA1 (patch-hints_solaris_2.sh) = 26f804234c07da04ebd6c33ce7ad54d94c746f1e
 20SHA1 (patch-hv.c) = eaea29e1c59bf3b698478ba8ec3f1b25c4ed6cc8
20SHA1 (patch-ta) = 51a3e02148e78eaab882125f859e59add39a4fbe 21SHA1 (patch-ta) = 51a3e02148e78eaab882125f859e59add39a4fbe
21SHA1 (patch-zd) = 469602bc04b217f2d9929f5caeab43f77a74076f 22SHA1 (patch-zd) = 469602bc04b217f2d9929f5caeab43f77a74076f
22SHA1 (patch-ze) = a719797ccf8bb09e75aacc1609408fb4afe6aa60 23SHA1 (patch-ze) = a719797ccf8bb09e75aacc1609408fb4afe6aa60

File Added: pkgsrc/lang/perl5/patches/Attic/patch-hv.c
$NetBSD: patch-hv.c,v 1.1 2013/01/17 13:29:59 manu Exp $

Work around a crash with apaache-1.3.42 and mod_perl-1.31:

Program received signal SIGSEGV, Segmentation fault.
[Switching to LWP 1]
Perl_hv_undef_flags (my_perl=0xbb537800, hv=0x0, flags=0) at hv.c:1788
1788        const bool save = !!SvREFCNT(hv);
(gdb) bt
#0  Perl_hv_undef_flags (my_perl=0xbb537800, hv=0x0, flags=0) at hv.c:1788
#1  0xbb646f8e in perl_util_cleanup () from /usr/pkg/lib/httpd/mod_perl.so
#2  0xbb639b10 in perl_shutdown () from /usr/pkg/lib/httpd/mod_perl.so
#3  0xbb639ec3 in mp_dso_unload () from /usr/pkg/lib/httpd/mod_perl.so
#4  0x08073524 in ap_clear_pool ()
#5  0x08081956 in main ()


--- hv.c.orig	2013-01-17 08:54:13.000000000 +0100
+++ hv.c	2013-01-17 08:55:42.000000000 +0100
@@ -1784,14 +1784,16 @@
 {
     dVAR;
     register XPVHV* xhv;
     const char *name;
-    const bool save = !!SvREFCNT(hv);
+    bool save;
 
     if (!hv)
 	return;
+
     DEBUG_A(Perl_hv_assert(aTHX_ hv));
     xhv = (XPVHV*)SvANY(hv);
+    save = !!SvREFCNT(hv);
 
     /* The name must be deleted before the call to hfreeeeentries so that
        CVs are anonymised properly. But the effective name must be pre-
        served until after that call (and only deleted afterwards if the