Work around a NULL dereference (bug report was submitted upstream)
This commit is contained in:
parent
0bfa134bfd
commit
a40154b370
3 changed files with 41 additions and 3 deletions
|
@ -1,10 +1,10 @@
|
|||
# $NetBSD: Makefile,v 1.193 2013/01/03 10:11:34 dholland Exp $
|
||||
# $NetBSD: Makefile,v 1.194 2013/01/17 13:29:59 manu Exp $
|
||||
|
||||
.include "license.mk"
|
||||
.include "Makefile.common"
|
||||
|
||||
COMMENT= Practical Extraction and Report Language
|
||||
PKGREVISION= 2
|
||||
PKGREVISION= 3
|
||||
|
||||
CONFLICTS= perl-base-[0-9]* perl-thread-[0-9]* \
|
||||
p5-CGI-2.66{,nb*} p5-CGI-2.75{,nb*} p5-CGI-2.75.[0-2] \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
$NetBSD: distinfo,v 1.90 2013/01/03 10:11:34 dholland Exp $
|
||||
$NetBSD: distinfo,v 1.91 2013/01/17 13:29:59 manu Exp $
|
||||
|
||||
SHA1 (perl-5.16.2.tar.gz) = 9e20e38e3460ebbac895341fd70a02189d03a490
|
||||
RMD160 (perl-5.16.2.tar.gz) = 84f0233ac48059b4636661b023dd8a3389f9ae64
|
||||
|
@ -17,6 +17,7 @@ SHA1 (patch-cpan_Sys-Syslog_Syslog.xs) = 4413010d0b55a0ae636bca8ff3ace2ebc99e90b
|
|||
SHA1 (patch-dist_Locale-Maketext_lib_Locale_Maketext.pm) = d44647f32d356030c8c2cd6346559f613a7fe459
|
||||
SHA1 (patch-hints_netbsd.sh) = 8a0656a72e81461f461757712b7fc27ad8928028
|
||||
SHA1 (patch-hints_solaris_2.sh) = 26f804234c07da04ebd6c33ce7ad54d94c746f1e
|
||||
SHA1 (patch-hv.c) = eaea29e1c59bf3b698478ba8ec3f1b25c4ed6cc8
|
||||
SHA1 (patch-ta) = 51a3e02148e78eaab882125f859e59add39a4fbe
|
||||
SHA1 (patch-zd) = 469602bc04b217f2d9929f5caeab43f77a74076f
|
||||
SHA1 (patch-ze) = a719797ccf8bb09e75aacc1609408fb4afe6aa60
|
||||
|
|
37
lang/perl5/patches/patch-hv.c
Normal file
37
lang/perl5/patches/patch-hv.c
Normal file
|
@ -0,0 +1,37 @@
|
|||
$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
|
Loading…
Reference in a new issue