cvs: ZendEngine2(PHP_5_3) / zend_execute.c zend_execute_API.c

From: Date: Tue, 06 May 2008 16:03:16 +0000
Subject: cvs: ZendEngine2(PHP_5_3) / zend_execute.c zend_execute_API.c
Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-6671@lists.php.net to get a copy of this message
dmitry Tue May 6 16:03:16 2008 UTC Modified files: (Branch: PHP_5_3) /ZendEngine2 zend_execute.c zend_execute_API.c Log: GC fix http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_execute.c?r1=1.716.2.12.2.24.2.27&r2=1.716.2.12.2.24.2.28&diff_format=u Index: ZendEngine2/zend_execute.c diff -u ZendEngine2/zend_execute.c:1.716.2.12.2.24.2.27 ZendEngine2/zend_execute.c:1.716.2.12.2.24.2.28 --- ZendEngine2/zend_execute.c:1.716.2.12.2.24.2.27 Mon May 5 11:03:32 2008 +++ ZendEngine2/zend_execute.c Tue May 6 16:03:15 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_execute.c,v 1.716.2.12.2.24.2.27 2008/05/05 11:03:32 dmitry Exp $ */ +/* $Id: zend_execute.c,v 1.716.2.12.2.24.2.28 2008/05/06 16:03:15 dmitry Exp $ */ #define ZEND_INTENSIVE_DEBUGGING 0 @@ -83,9 +83,13 @@ static inline void zend_pzval_unlock_free_func(zval *z) { if (!Z_DELREF_P(z)) { - GC_REMOVE_ZVAL_FROM_BUFFER(z); - zval_dtor(z); - safe_free_zval_ptr(z); + TSRMLS_FETCH(); + + if (z != &EG(uninitialized_zval)) { + GC_REMOVE_ZVAL_FROM_BUFFER(z); + zval_dtor(z); + efree(z); + } } } @@ -699,9 +703,11 @@ } else { Z_ADDREF_P(value); *variable_ptr_ptr = value; - GC_REMOVE_ZVAL_FROM_BUFFER(variable_ptr); - zendi_zval_dtor(*variable_ptr); - safe_free_zval_ptr(variable_ptr); + if (variable_ptr != &EG(uninitialized_zval)) { + GC_REMOVE_ZVAL_FROM_BUFFER(variable_ptr); + zval_dtor(variable_ptr); + efree(variable_ptr); + } return value; } } else { http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_execute_API.c?r1=1.331.2.20.2.24.2.37&r2=1.331.2.20.2.24.2.38&diff_format=u Index: ZendEngine2/zend_execute_API.c diff -u ZendEngine2/zend_execute_API.c:1.331.2.20.2.24.2.37 ZendEngine2/zend_execute_API.c:1.331.2.20.2.24.2.38 --- ZendEngine2/zend_execute_API.c:1.331.2.20.2.24.2.37 Tue Apr 29 09:18:14 2008 +++ ZendEngine2/zend_execute_API.c Tue May 6 16:03:16 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_execute_API.c,v 1.331.2.20.2.24.2.37 2008/04/29 09:18:14 dmitry Exp $ */ +/* $Id: zend_execute_API.c,v 1.331.2.20.2.24.2.38 2008/05/06 16:03:16 dmitry Exp $ */ #include <stdio.h> #include <signal.h> @@ -418,9 +418,13 @@ #endif Z_DELREF_PP(zval_ptr); if (Z_REFCOUNT_PP(zval_ptr) == 0) { - GC_REMOVE_ZVAL_FROM_BUFFER(*zval_ptr); - zval_dtor(*zval_ptr); - safe_free_zval_ptr_rel(*zval_ptr ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC); + TSRMLS_FETCH(); + + if (*zval_ptr != &EG(uninitialized_zval)) { + GC_REMOVE_ZVAL_FROM_BUFFER(*zval_ptr); + zval_dtor(*zval_ptr); + efree_rel(*zval_ptr); + } } else { TSRMLS_FETCH();

« previous php.zend-engine.cvs (#6671) next »