From: Nicholas Clark Date: Tue, 14 Oct 2008 21:16:05 +0000 (+0000) Subject: Yet another [ACGHS]V pointer in the interpreter structure that needs to X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=e7fab88422313b73647d6da244e7b2044d28280d;p=p5sagit%2Fp5-mst-13.2.git 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 --- diff --git a/sv.c b/sv.c index e39a2c9..33aa8ec 100644 --- a/sv.c +++ b/sv.c @@ -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;