cvs: ZendEngine2 / zend_execute_API.c
| From: | Zeev Suraski | Date: | Wed, 11 Feb 2004 13:01:40 +0000 |
| Subject: | cvs: ZendEngine2 / zend_execute_API.c | ||
| Groups: | php.zend-engine.cvs | ||
| Request: | Send a blank email to php-zend-engine-cvs+get-2353@lists.php.net to get a copy of this message | ||
zeev Wed Feb 11 08:01:40 2004 EDT
Modified files:
/ZendEngine2 zend_execute_API.c
Log:
Fix bug #25038
http://cvs.php.net/diff.php/ZendEngine2/zend_execute_API.c?r1=1.266&r2=1.267&ty=u
Index: ZendEngine2/zend_execute_API.c
diff -u ZendEngine2/zend_execute_API.c:1.266 ZendEngine2/zend_execute_API.c:1.267
--- ZendEngine2/zend_execute_API.c:1.266 Wed Feb 11 07:31:18 2004
+++ ZendEngine2/zend_execute_API.c Wed Feb 11 08:01:39 2004
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_execute_API.c,v 1.266 2004/02/11 12:31:18 zeev Exp $ */
+/* $Id: zend_execute_API.c,v 1.267 2004/02/11 13:01:39 zeev Exp $ */
#include <stdio.h>
#include <signal.h>
@@ -551,9 +551,18 @@
if (EG(current_execute_data)) {
execute_data = *EG(current_execute_data);
} else {
+ /* This only happens when we're called outside any execute()'s
+ * It shouldn't be strictly necessary to NULL execute_data out,
+ * but it may make bugs easier to spot
+ */
memset(&execute_data, 0, sizeof(zend_execute_data));
}
+ /* we may return SUCCESS, and yet retval may be uninitialized,
+ * if there was an exception...
+ */
+ *fci->retval_ptr_ptr = NULL;
+
if (!fci_cache || !fci_cache->initialized) {
if (fci->function_name->type==IS_ARRAY) { /* assume array($obj, $name) couple */
zval **tmp_object_ptr, **tmp_real_function_name;