summaryrefslogtreecommitdiff
path: root/mg.c
diff options
context:
space:
mode:
authorDave Mitchell <davem@fdisolutions.com>2005-06-14 10:15:10 +0000
committerDave Mitchell <davem@fdisolutions.com>2005-06-14 10:15:10 +0000
commit94f3782b3e86f250f6fc117b09530d4c0ddac4ef (patch)
tree0b42099ceb667facbce3bfae87c662c90c563c6c /mg.c
parentaefc56c5a86a8918fc9d52065e8cf4df301d4ee4 (diff)
downloadperl-94f3782b3e86f250f6fc117b09530d4c0ddac4ef.tar.gz
Perl_magic_freearylen_p could coredump
p4raw-id: //depot/perl@24833
Diffstat (limited to 'mg.c')
-rw-r--r--mg.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/mg.c b/mg.c
index 4c010180f1..b2b0620e5c 100644
--- a/mg.c
+++ b/mg.c
@@ -1673,6 +1673,10 @@ Perl_magic_setarylen(pTHX_ SV *sv, MAGIC *mg)
int
Perl_magic_freearylen_p(pTHX_ SV *sv, MAGIC *mg)
{
+ /* during global destruction, mg_obj may already have been freed */
+ if (PL_in_clean_all)
+ return;
+
mg = mg_find (mg->mg_obj, PERL_MAGIC_arylen);
if (mg) {