summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-06-04 16:45:23 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-06-04 16:45:23 +0000
commit524189f16184b7c26cd5c891db0a97b3ccc255cc (patch)
tree00de50b67e2847108c92f48954c70f71f741899c /sv.c
parent2a52c5cc55f4ebc894a7289dc386b81d22d08e1a (diff)
downloadperl-524189f16184b7c26cd5c891db0a97b3ccc255cc.tar.gz
Sigh. This is what #10424 was supposed to check in.
p4raw-id: //depot/perl@10433
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sv.c b/sv.c
index 581c788318..f56b45c037 100644
--- a/sv.c
+++ b/sv.c
@@ -4559,8 +4559,12 @@ Perl_sv_clear(pTHX_ register SV *sv)
--PL_sv_objcount; /* XXX Might want something more general */
}
}
- if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv))
- mg_free(sv);
+ if (SvTYPE(sv) >= SVt_PVMG) {
+ if (SvMAGIC(sv))
+ mg_free(sv);
+ if (SvFLAGS(sv) & SVpad_TYPED)
+ SvREFCNT_dec(SvSTASH(sv));
+ }
stash = NULL;
switch (SvTYPE(sv)) {
case SVt_PVIO: