diff options
Diffstat (limited to 'Zend/zend_execute_API.c')
-rw-r--r-- | Zend/zend_execute_API.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index a60fff3bcb..10adfb6a26 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -1195,7 +1195,13 @@ ZEND_API int zend_eval_stringl(char *str, int str_len, zval *retval_ptr, char *s } CG(interactive) = 0; - zend_execute(new_op_array TSRMLS_CC); + zend_try { + zend_execute(new_op_array TSRMLS_CC); + } zend_catch { + destroy_op_array(new_op_array TSRMLS_CC); + efree(new_op_array); + zend_bailout(); + } zend_end_try(); CG(interactive) = orig_interactive; if (local_retval_ptr) { |