summaryrefslogtreecommitdiff
path: root/perl.c
diff options
context:
space:
mode:
authorDave Mitchell <davem@fdisolutions.com>2004-01-17 16:12:32 +0000
committerDave Mitchell <davem@fdisolutions.com>2004-01-17 16:12:32 +0000
commitb3a3b3a1da8f5142edf3e194532b08316f895282 (patch)
treea7599adfe749d92c3c1e340401d2cf679de77a8c /perl.c
parentd3dc607d97b8af5aa45522c8a75a78694d3c7733 (diff)
downloadperl-b3a3b3a1da8f5142edf3e194532b08316f895282.tar.gz
[perl #24914] freeing a CV reference that was currently being
executed caused coredumps p4raw-id: //depot/perl@22167
Diffstat (limited to 'perl.c')
-rw-r--r--perl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/perl.c b/perl.c
index f32e346950..aa37e2f15b 100644
--- a/perl.c
+++ b/perl.c
@@ -699,6 +699,9 @@ perl_destruct(pTHXx)
SvFLAGS(PL_fdpid) |= SVTYPEMASK; /* don't clean out pid table now */
SvFLAGS(PL_strtab) |= SVTYPEMASK; /* don't clean out strtab now */
+ PL_comppad = Null(PAD*);
+ PL_curpad = Null(SV**);
+
/* the 2 is for PL_fdpid and PL_strtab */
while (PL_sv_count > 2 && sv_clean_all())
;