From 5ff2111a5970829de6a47183ad44aef8197345d6 Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Fri, 23 Jul 2004 07:13:54 +0000 Subject: [PATCH] Fix 0 Byte leak after alloca to emalloc change --- Zend/zend_execute.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 4acdcf2c9b..9d997576ea 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -1330,7 +1330,7 @@ static int zend_check_symbol(zval **pz TSRMLS_DC) } #define RETURN_FROM_EXECUTE_LOOP(execute_data) \ - efree(EX(Ts)); \ + if (EX(Ts)) efree(EX(Ts)); \ EG(in_execution) = EX(original_in_execution); \ EG(current_execute_data) = EX(prev_execute_data); \ return 1; /* CHECK_ME */ @@ -1349,7 +1349,7 @@ ZEND_API void execute(zend_op_array *op_array TSRMLS_DC) /* Initialize execute_data */ EX(fbc) = NULL; EX(object) = NULL; - EX(Ts) = (temp_variable *) safe_emalloc(sizeof(temp_variable), op_array->T, 0); + EX(Ts) = (temp_variable *) (op_array->T ? safe_emalloc(sizeof(temp_variable), op_array->T, 0) : NULL); EX(op_array) = op_array; EX(original_in_execution) = EG(in_execution); EX(prev_execute_data) = EG(current_execute_data); -- 2.50.1