diff options
author | Nicholas Clark <nick@ccl4.org> | 2008-10-14 21:16:05 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2008-10-14 21:16:05 +0000 |
commit | e7fab88422313b73647d6da244e7b2044d28280d (patch) | |
tree | c8827c4b8756221d46651c88bc6105bcc31c0121 | |
parent | c01be2ceee59c12c021a43356af939d6df88f074 (diff) | |
download | perl-e7fab88422313b73647d6da244e7b2044d28280d.tar.gz |
Yet another [ACGHS]V pointer in the interpreter structure that needs to
be reset if its SV is freed. (see change 22688 (30952)).
A real live bug found by Slaven and Andreas whilst smoking maint-5.8.x.
I guess that we should audit the interpreter structure for any others.
p4raw-id: //depot/perl@34479
-rw-r--r-- | sv.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -5485,6 +5485,9 @@ Perl_sv_clear(pTHX_ register SV *const sv) cv_undef((CV*)sv); goto freescalar; case SVt_PVHV: + if (PL_last_swash_hv == (HV*)sv) { + PL_last_swash_hv = NULL; + } Perl_hv_kill_backrefs(aTHX_ (HV*)sv); hv_undef((HV*)sv); break; |