diff options
author | Fuji, Goro <g.psy.va@gmail.com> | 2012-07-31 21:56:11 +0900 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2012-07-31 22:12:05 -0700 |
commit | c50bda7c602d34fbc8752fc972be6f3050164834 (patch) | |
tree | 529df3e33529719d27a667676024af8e3999a368 /sv.c | |
parent | cfb8f080895a44c06733a04064300a07f255aeb0 (diff) | |
download | perl-c50bda7c602d34fbc8752fc972be6f3050164834.tar.gz |
fix a memory leak in sv_sethek(), amending 70b71ec84
the following code reproduced this issue on perl 5.16.0:
my $o = bless {};
while (1) {
for my $r([], $o) {
ref $r;
}
}
Diffstat (limited to 'sv.c')
-rw-r--r-- | sv.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -4553,6 +4553,7 @@ Perl_sv_sethek(pTHX_ register SV *const sv, const HEK *const hek) { SV_CHECK_THINKFIRST_COW_DROP(sv); SvUPGRADE(sv, SVt_PV); + Safefree(SvPVX(sv)); SvPV_set(sv,(char *)HEK_KEY(share_hek_hek(hek))); SvCUR_set(sv, HEK_LEN(hek)); SvLEN_set(sv, 0); |