The regexp engine should check SV flags rather than SV type for
authorNicholas Clark <nick@ccl4.org>
Wed, 30 Nov 2005 13:55:05 +0000 (13:55 +0000)
committerNicholas Clark <nick@ccl4.org>
Wed, 30 Nov 2005 13:55:05 +0000 (13:55 +0000)
commit8f7f721921e56db1ab4fa5e3365e8f86077b2518
treeb122a162e93dba15add4550bd04174a815d2f7a4
parent0b599ae526552f509f1358eaeec80cf8049ddcf2
The regexp engine should check SV flags rather than SV type for
determining if something is a reference, because under the debugger
the value returned by the swash code is SVt_PVMG.
Not doing this has the side effect of repeatedly reassigning the
same array element, which causes destructors to fire on the reassignment
which in turn causes &utf8::DESTROY to run outside of the pseudo-safety
of save_re_context, which under the debugger involves re-entering the
regexp engine, which causes corruption of the regexp engine's global
state.

p4raw-id: //depot/perl@26228
regexec.c