Can you please run such patches by me before commiting...
This looks like a bit of a hackish patch and I think requires another
thorough look.
Anyway, in the meanwhile leave it and I'll check it out.
Andi
At 12:32 AM 1/21/2005 +0000, Ilia Alshanetsky wrote:
iliaa Thu Jan 20 19:32:20 2005 EDT
Modified files: (Branch: PHP_4_3)
/php-src NEWS
/Zend zend_execute.c
Log:
Fixed bug #28086 (crash inside overload() function).
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1247.2.812&r2=1.1247.2.813&ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1247.2.812 php-src/NEWS:1.1247.2.813
--- php-src/NEWS:1.1247.2.812 Thu Jan 20 13:44:09 2005
+++ php-src/NEWS Thu Jan 20 19:32:18 2005
@@ -46,6 +46,7 @@
(Jani)
- Fixed bug #28930 (PHP sources pick wrong header files generated by bison).
(eggert at gnu dot org)
+- Fixed bug #28086 (crash inside overload() function). (Tony)
- Fixed bug #28074 (FastCGI: stderr should be written in a FCGI stderr
stream).
(chris at ex-parrot dot com)
- Fixed bug #7782 (Cannot use PATH_INFO fully with php isapi). (Unknown)
http://cvs.php.net/diff.php/Zend/zend_execute.c?r1=1.316.2.44&r2=1.316.2.45&ty=u
Index: Zend/zend_execute.c
diff -u Zend/zend_execute.c:1.316.2.44 Zend/zend_execute.c:1.316.2.45
--- Zend/zend_execute.c:1.316.2.44 Sun Jan 16 05:00:20 2005
+++ Zend/zend_execute.c Thu Jan 20 19:32:19 2005
@@ -715,6 +715,7 @@
static void fetch_overloaded_element(znode *result, znode *op1, znode
*op2, temp_variable *Ts, int type, zval ***retval, int
overloaded_element_type TSRMLS_DC)
{
zend_overloaded_element overloaded_element;
+ zval *tmp;
if (Ts[op1->u.var].EA.type == IS_STRING_OFFSET) {
get_zval_ptr(op2, Ts, &EG(free_op2), BP_VAR_R);
@@ -733,7 +734,10 @@
return;
}
- overloaded_element.element = *get_zval_ptr(op2, Ts, &EG(free_op2),
type);
+ if (!(tmp = get_zval_ptr(op2, Ts, &EG(free_op2), type))) {
+ MAKE_STD_ZVAL(tmp);
+ }
+ overloaded_element.element = *tmp;
overloaded_element.type = overloaded_element_type;
if (!EG(free_op2)) {
zval_copy_ctor(&overloaded_element.element);
--
Zend Engine CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--
Zend Engine CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
|