Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @NikiC Getting a weird new segfault now in case I have more arguments to a function that it wanted. I used to have:
- if ((i < arguments_wanted) || ((zdata->func->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE) && (i < arguments_sent))) {
- if (ZEND_CALL_ARG(zdata, fse->varc+1)) {
- ZVAL_COPY(&(fse->var[fse->varc].data), ZEND_CALL_ARG(zdata, fse->varc+1));
- }
- } else {
- ZVAL_COPY(&(fse->var[fse->varc].data), ZEND_CALL_VAR_NUM(zdata, zdata->func->op_array.last_var + zdata->func->op_array.T + i - arguments_wanted));
- }
- With i being 2 and arguments wanted being 1, for the following code:
- class Test {
- public function __construct() { }
- public function __call($func, $args) {
- return $this->$func($args);
- }
- private function testFunc($args) {
- array_sum($args);
- }
- But that now segfaults, because ZEND_CALL_ARG no longer returns "NULL" here.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement