Skip to content

Instantly share code, notes, and snippets.

@m6w6
Created December 4, 2014 11:57
Show Gist options
  • Save m6w6/43684da06a6c209f8fa0 to your computer and use it in GitHub Desktop.
Save m6w6/43684da06a6c209f8fa0 to your computer and use it in GitHub Desktop.
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 10efd7a..369852f 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -3504,7 +3504,7 @@ ZEND_API int zend_fcall_info_argp(zend_fcall_info *fci TSRMLS_DC, int argc, zval
fci->params = (zval *) erealloc(fci->params, fci->param_count * sizeof(zval));
for (i = 0; i < argc; ++i) {
- ZVAL_COPY_VALUE(&fci->params[i], &argv[i]);
+ ZVAL_COPY(&fci->params[i], &argv[i]);
}
}
@@ -3529,7 +3529,7 @@ ZEND_API int zend_fcall_info_argv(zend_fcall_info *fci TSRMLS_DC, int argc, va_l
for (i = 0; i < argc; ++i) {
arg = va_arg(*argv, zval *);
- ZVAL_COPY_VALUE(&fci->params[i], arg);
+ ZVAL_COPY(&fci->params[i], arg);
}
}
diff --git a/main/output.c b/main/output.c
index a1530b6..c8b41ba 100644
--- a/main/output.c
+++ b/main/output.c
@@ -961,6 +961,7 @@ static inline php_output_handler_status_t php_output_handler_op(php_output_handl
ZVAL_STRINGL(&ob_data, handler->buffer.data, handler->buffer.used);
ZVAL_LONG(&ob_mode, (zend_long) context->op);
zend_fcall_info_argn(&handler->func.user->fci TSRMLS_CC, 2, &ob_data, &ob_mode);
+ zval_ptr_dtor(&ob_data);
#define PHP_OUTPUT_USER_SUCCESS(retval) ((Z_TYPE(retval) != IS_UNDEF) && !(Z_TYPE(retval) == IS_FALSE))
if (SUCCESS == zend_fcall_info_call(&handler->func.user->fci, &handler->func.user->fcc, &retval, NULL TSRMLS_CC) && PHP_OUTPUT_USER_SUCCESS(retval)) {
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment