head	1.4;
access;
symbols
	RELEASE_8_3_0:1.3
	RELEASE_9_0_0:1.1
	RELEASE_7_4_0:1.1
	RELEASE_8_2_0:1.1
	RELEASE_6_EOL:1.1
	RELEASE_8_1_0:1.1;
locks; strict;
comment	@# @;


1.4
date	2013.02.04.12.03.36;	author svnexp;	state dead;
branches;
next	1.3;

1.3
date	2012.03.11.23.49.09;	author linimon;	state Exp;
branches;
next	1.2;

1.2
date	2012.03.08.18.37.54;	author pgollucci;	state dead;
branches;
next	1.1;

1.1
date	2010.05.06.17.05.45;	author skv;	state Exp;
branches;
next	;


desc
@@


1.4
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/311580
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@# http://rt.perl.org/rt3/Public/Bug/Display.html?id=71952
# http://perl5.git.perl.org/perl.git/commitdiff_plain/1f15e670edb515b744e9021b4a42a7955da83093?hp=1f730e6c11736bad913e605b064200a67117e898
diff --git a/sv.c b/sv.c
index 4e80e18..a3eb187 100644
--- sv.c
+++ sv.c
@@@@ -5664,7 +5664,8 @@@@ Perl_sv_clear(pTHX_ register SV *const sv)
 			&& !CvCONST(destructor)
 			/* Don't bother calling an empty destructor */
 			&& (CvISXSUB(destructor)
-			|| CvSTART(destructor)->op_next->op_type != OP_LEAVESUB))
+			|| (CvSTART(destructor)
+			    && (CvSTART(destructor)->op_next->op_type != OP_LEAVESUB))))
 		{
 		    SV* const tmpref = newRV(sv);
 	            SvREADONLY_on(tmpref);   /* DESTROY() could be naughty */
diff --git a/t/op/method.t b/t/op/method.t
index afa8cfb..b602ca2 100644
--- t/op/method.t
+++ t/op/method.t
@@@@ -10,7 +10,7 @@@@ BEGIN {
     require "test.pl";
 }
 
-print "1..78\n";
+print "1..79\n";
 
 @@A::ISA = 'B';
 @@B::ISA = 'C';
@@@@ -292,3 +292,16 @@@@ EOT
 	"check if UNIVERSAL::AUTOLOAD works",
     );
 }
+
+# Test for #71952: crash when looking for a nonexistent destructor
+# Regression introduced by fbb3ee5af3d4
+{
+    fresh_perl_is(<<'EOT',
+sub M::DESTROY; bless {}, "M" ; print "survived\n";
+EOT
+    "survived",
+    {},
+	"no crash with a declared but missing DESTROY method"
+    );
+}
+
@


1.3
log
@Undo ports/165457 to not violate POLA.  As far as I knew, the PR
was to test what happened when we did eventually delete these two
ports, not to delete them immediately.

A subsequent commit will add appropriate deprecation messages.

Hat:		portmgr
PR:		ports/165457
Feature safe:	yes (actually no, however, this is to preserve POLA)
@
text
@@


1.2
log
@- Remove lang/perl5.8 (12/16/2008 EOL) and lang/perl5.10 (08/23/2009 EOL)
- lang/5.12 (default) is in Maint mode and lang/5.14 is GA right now.
- The final UNcommitted portition of this PR will move the default perl
  to lang/perl5.14 but
    mail/cyrus-impad2
    mail/cyrus-impad22
    print/perlftlib
    audio/papcl
    www/WebMagick
    misc/gcstar
    math/ploymak
  must be fixed or marked BROKEN 1st.

PR:             ports/165457
Submitted by:   pgollucci (myself)
Approved by:    portmgr (linimon)
Exp Run by:     linimon
Tested by:      make index
@
text
@@


1.1
log
@- Add patches for RT 69973 [1], RT 71952 [2]
- Update P5PORTER mode [3]
- Update CONFLICTS for Perl 5.12

Pointed by:	a.smith xx ukgrid.net [1]
PR:		ports/144717 [2], ports/142110 [3]
Submitted by:	Bryan Fullerton <bryanf@@samuraiconsulting.ca> [2],
		Alex Deiter <alex.deiter xx gmail.com> [3]
@
text
@@

