You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thin-AOT preg_replace($pat, $rep, $subject) where $subject is a string local (JIT TYPE_VALUE) takes JitPregReplace::invokeArray because JitPregSubject::isStringOrCoercibleNullSubject only accepts TYPE_STRING. The array path yields array(); feeding that to base64_decode / string ops can SIGSEGV. Literal subjects still fold/lower correctly, so compile-time-looking green cases miss the bug.
ext/standard/preg_replace.php — same #23912 guard as str_replace: treat TYPE_VALUE + !JitStrReplaceSubject::isKnownArray as stringish → invokeString. Mirror on preg_filter / preg_replace_callback if the same branch exists. No new runtime/*.c.
Activity
AOT: preg_replace TYPE_VALUE string subject uses invokeString (#35059) (