Change 34479 by [EMAIL PROTECTED] on 2008/10/14 21:16:05

        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.

Affected files ...

... //depot/perl/sv.c#1556 edit

Differences ...

==== //depot/perl/sv.c#1556 (text) ====
Index: perl/sv.c
--- perl/sv.c#1555~34371~       2008-09-15 15:53:27.000000000 -0700
+++ perl/sv.c   2008-10-14 14:16:05.000000000 -0700
@@ -5485,6 +5485,9 @@
        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;
End of Patch.

Reply via email to