https://bugzilla.wikimedia.org/show_bug.cgi?id=65796

--- Comment #2 from Tim Starling <[email protected]> ---
This is mostly a LuaSandbox bug.

LuaSandbox::setCPULimit() calls convert_to_double_ex() on its argument, which
decrefs the original zval and creates a new one that is a double.
convert_to_double_ex() callers in the PHP source tree invariably use the "Z"
type character in zend_parse_parameters(), which is what LuaSandbox used to do,
but I changed it to "z" to support HHVM. With "Z", a zval** is returned, and so
convert_to_double_ex() will leave the newly-allocated zval* in the stack, which
will be decref'd on return. But with "z", the newly-allocated zval leaks, since
the pointer is only stored in a local variable, and the argument zval is
decref'd, which apparently breaks HHVM's frame cleanup.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to