summaryrefslogtreecommitdiff
path: root/mro.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2008-09-12 08:52:50 +0000
committerNicholas Clark <nick@ccl4.org>2008-09-12 08:52:50 +0000
commit5782d502273e5b6d06607ebe625248c4c102d93b (patch)
tree145c2e7e1d1116b4b8a59a2b2e0a45bad6f7250c /mro.c
parenta49ba3fcbe357fbacf7b9898df08daa2cbdfc8c4 (diff)
downloadperl-5782d502273e5b6d06607ebe625248c4c102d93b.tar.gz
Need to free the isa lookup hash before rebuilding it.
p4raw-id: //depot/perl@34355
Diffstat (limited to 'mro.c')
-rw-r--r--mro.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/mro.c b/mro.c
index da30c4df7b..4d7ade5747 100644
--- a/mro.c
+++ b/mro.c
@@ -546,6 +546,10 @@ Perl_mro_isa_changed_in(pTHX_ HV* stash)
SvREFCNT_dec((SV*)meta->mro_linear_c3);
meta->mro_linear_dfs = NULL;
meta->mro_linear_c3 = NULL;
+ if (meta->isa) {
+ SvREFCNT_dec(meta->isa);
+ meta->isa = NULL;
+ }
/* Inc the package generation, since our @ISA changed */
meta->pkg_gen++;