dmitry Mon, 21 Sep 2009 13:01:17 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=288524
Log:
Fixed memleak in tests/lang/engine_assignExecutionOrder_001.phpt
Changed paths:
U php/php-src/branches/PHP_5_2/Zend/zend_vm_def.h
U php/php-src/branches/PHP_5_2/Zend/zend_vm_execute.h
U php/php-src/branches/PHP_5_3/Zend/zend_vm_def.h
U php/php-src/branches/PHP_5_3/Zend/zend_vm_execute.h
U php/php-src/trunk/Zend/zend_vm_def.h
U php/php-src/trunk/Zend/zend_vm_execute.h
Modified: php/php-src/branches/PHP_5_2/Zend/zend_vm_def.h
===================================================================
--- php/php-src/branches/PHP_5_2/Zend/zend_vm_def.h 2009-09-21 12:02:30 UTC
(rev 288523)
+++ php/php-src/branches/PHP_5_2/Zend/zend_vm_def.h 2009-09-21 13:01:17 UTC
(rev 288524)
@@ -939,6 +939,7 @@
if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
retval =
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry,
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
+ FREE_OP1();
} else {
target_symbol_table = zend_get_target_symbol_table(opline,
EX(Ts), type, varname TSRMLS_CC);
/*
Modified: php/php-src/branches/PHP_5_2/Zend/zend_vm_execute.h
===================================================================
--- php/php-src/branches/PHP_5_2/Zend/zend_vm_execute.h 2009-09-21 12:02:30 UTC
(rev 288523)
+++ php/php-src/branches/PHP_5_2/Zend/zend_vm_execute.h 2009-09-21 13:01:17 UTC
(rev 288524)
@@ -1531,6 +1531,7 @@
if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
retval =
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry,
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
+
} else {
target_symbol_table = zend_get_target_symbol_table(opline,
EX(Ts), type, varname TSRMLS_CC);
/*
@@ -4111,6 +4112,7 @@
if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
retval =
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry,
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
+ zval_dtor(free_op1.var);
} else {
target_symbol_table = zend_get_target_symbol_table(opline,
EX(Ts), type, varname TSRMLS_CC);
/*
@@ -7166,6 +7168,7 @@
if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
retval =
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry,
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
+ if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
} else {
target_symbol_table = zend_get_target_symbol_table(opline,
EX(Ts), type, varname TSRMLS_CC);
/*
@@ -19600,6 +19603,7 @@
if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
retval =
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry,
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
+
} else {
target_symbol_table = zend_get_target_symbol_table(opline,
EX(Ts), type, varname TSRMLS_CC);
/*
Modified: php/php-src/branches/PHP_5_3/Zend/zend_vm_def.h
===================================================================
--- php/php-src/branches/PHP_5_3/Zend/zend_vm_def.h 2009-09-21 12:02:30 UTC
(rev 288523)
+++ php/php-src/branches/PHP_5_3/Zend/zend_vm_def.h 2009-09-21 13:01:17 UTC
(rev 288524)
@@ -940,6 +940,7 @@
if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
retval =
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry,
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
+ FREE_OP1();
} else {
target_symbol_table = zend_get_target_symbol_table(opline,
EX(Ts), type, varname TSRMLS_CC);
/*
Modified: php/php-src/branches/PHP_5_3/Zend/zend_vm_execute.h
===================================================================
--- php/php-src/branches/PHP_5_3/Zend/zend_vm_execute.h 2009-09-21 12:02:30 UTC
(rev 288523)
+++ php/php-src/branches/PHP_5_3/Zend/zend_vm_execute.h 2009-09-21 13:01:17 UTC
(rev 288524)
@@ -1331,6 +1331,7 @@
if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
retval =
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry,
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
+
} else {
target_symbol_table = zend_get_target_symbol_table(opline,
EX(Ts), type, varname TSRMLS_CC);
/*
@@ -4607,6 +4608,7 @@
if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
retval =
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry,
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
+ zval_dtor(free_op1.var);
} else {
target_symbol_table = zend_get_target_symbol_table(opline,
EX(Ts), type, varname TSRMLS_CC);
/*
@@ -7848,6 +7850,7 @@
if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
retval =
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry,
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
+ if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
} else {
target_symbol_table = zend_get_target_symbol_table(opline,
EX(Ts), type, varname TSRMLS_CC);
/*
@@ -21709,6 +21712,7 @@
if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
retval =
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry,
Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
+
} else {
target_symbol_table = zend_get_target_symbol_table(opline,
EX(Ts), type, varname TSRMLS_CC);
/*
Modified: php/php-src/trunk/Zend/zend_vm_def.h
===================================================================
--- php/php-src/trunk/Zend/zend_vm_def.h 2009-09-21 12:02:30 UTC (rev
288523)
+++ php/php-src/trunk/Zend/zend_vm_def.h 2009-09-21 13:01:17 UTC (rev
288524)
@@ -964,6 +964,7 @@
retval = CG(auto_globals_cache)[opline->op2.u.var];
} else if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
retval =
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry,
Z_TYPE_P(varname), Z_UNIVAL_P(varname), Z_UNILEN_P(varname), 0 TSRMLS_CC);
+ FREE_OP1();
} else {
zend_auto_global *auto_global = NULL;
Modified: php/php-src/trunk/Zend/zend_vm_execute.h
===================================================================
--- php/php-src/trunk/Zend/zend_vm_execute.h 2009-09-21 12:02:30 UTC (rev
288523)
+++ php/php-src/trunk/Zend/zend_vm_execute.h 2009-09-21 13:01:17 UTC (rev
288524)
@@ -1318,6 +1318,7 @@
retval = CG(auto_globals_cache)[opline->op2.u.var];
} else if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
retval =
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry,
Z_TYPE_P(varname), Z_UNIVAL_P(varname), Z_UNILEN_P(varname), 0 TSRMLS_CC);
+
} else {
zend_auto_global *auto_global = NULL;
@@ -4752,6 +4753,7 @@
retval = CG(auto_globals_cache)[opline->op2.u.var];
} else if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
retval =
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry,
Z_TYPE_P(varname), Z_UNIVAL_P(varname), Z_UNILEN_P(varname), 0 TSRMLS_CC);
+ zval_dtor(free_op1.var);
} else {
zend_auto_global *auto_global = NULL;
@@ -8139,6 +8141,7 @@
retval = CG(auto_globals_cache)[opline->op2.u.var];
} else if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
retval =
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry,
Z_TYPE_P(varname), Z_UNIVAL_P(varname), Z_UNILEN_P(varname), 0 TSRMLS_CC);
+ if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
} else {
zend_auto_global *auto_global = NULL;
@@ -22688,6 +22691,7 @@
retval = CG(auto_globals_cache)[opline->op2.u.var];
} else if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
retval =
zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry,
Z_TYPE_P(varname), Z_UNIVAL_P(varname), Z_UNILEN_P(varname), 0 TSRMLS_CC);
+
} else {
zend_auto_global *auto_global = NULL;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php