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
{{ message }}
Repository navigation
Commit cf6284b
Browse filesBrowse the repository at this point in the historyBrowse files
FixGH-23725: use-after-free when __toString() frees a frameless argument
Frameless calls pass the caller's operand zvals straight to the handler
without taking a reference, so an argument freed by user code that the
handler triggers leaves it reading freed memory. Take a reference on array
arguments in the Z_FLF_PARAM_ARRAY* macros and in the one-argument implode(),
which makes the matching guards from 8ce7f7f redundant. String arguments
are pinned only when user code can still run after they are read: a later
argument needs conversion, strtr() walks a replacement array, implode()
converts an element, or property_exists() may autoload. str_replace() and
preg_replace() skip the pins when all three arguments are already strings.
FixesGH-23725
0 commit comments