cvs: ZendEngine2 / zend.c
| From: | Marcus Boerger | Date: | Sun, 14 Sep 2003 19:56:38 +0000 |
| Subject: | cvs: ZendEngine2 / zend.c | ||
| Groups: | php.zend-engine.cvs | ||
| Request: | Send a blank email to php-zend-engine-cvs+get-1834@lists.php.net to get a copy of this message | ||
helly Sun Sep 14 15:56:38 2003 EDT
Modified files:
/ZendEngine2 zend.c
Log:
Bugfix #25335
Index: ZendEngine2/zend.c
diff -u ZendEngine2/zend.c:1.249 ZendEngine2/zend.c:1.250
--- ZendEngine2/zend.c:1.249 Mon Sep 8 06:45:18 2003
+++ ZendEngine2/zend.c Sun Sep 14 15:56:37 2003
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend.c,v 1.249 2003/09/08 10:45:18 helly Exp $ */
+/* $Id: zend.c,v 1.250 2003/09/14 19:56:37 helly Exp $ */
#include "zend.h"
#include "zend_extensions.h"
@@ -839,6 +839,7 @@
zval ***params;
zval *retval;
zval *z_error_type, *z_error_message, *z_error_filename, *z_error_lineno, *z_context;
+ zval lz_context;
char *error_filename;
uint error_lineno;
zval *orig_user_error_handler;
@@ -901,10 +902,8 @@
ALLOC_INIT_ZVAL(z_error_type);
ALLOC_INIT_ZVAL(z_error_filename);
ALLOC_INIT_ZVAL(z_error_lineno);
- ALLOC_INIT_ZVAL(z_context);
z_error_message->value.str.len = zend_vspprintf(&z_error_message->value.str.val, 0,
format, args);
-
z_error_message->type = IS_STRING;
z_error_type->value.lval = type;
@@ -919,10 +918,11 @@
z_error_lineno->value.lval = error_lineno;
z_error_lineno->type = IS_LONG;
- z_context->value.ht = EG(active_symbol_table);
- z_context->type = IS_ARRAY;
- z_context->is_ref = 1;
- z_context->refcount = 2; /* we don't want this one to be freed */
+ lz_context.value.ht = EG(active_symbol_table);
+ lz_context.type = IS_ARRAY;
+ lz_context.is_ref = 1;
+ lz_context.refcount = 2; /* we don't want this one to be freed */
+ z_context = &lz_context;
params = (zval ***) emalloc(sizeof(zval **)*5);
params[0] = &z_error_type;
@@ -948,9 +948,7 @@
zval_ptr_dtor(&z_error_type);
zval_ptr_dtor(&z_error_filename);
zval_ptr_dtor(&z_error_lineno);
- if (ZVAL_REFCOUNT(z_context) == 2) {
- FREE_ZVAL(z_context);
- }
+ ZVAL_DELREF(z_context);
break;
}