summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_alloc.c2
-rw-r--r--Zend/zend_compile.c1
-rw-r--r--Zend/zend_operators.c4
3 files changed, 4 insertions, 3 deletions
diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c
index e2d2a63688..4911156c6d 100644
--- a/Zend/zend_alloc.c
+++ b/Zend/zend_alloc.c
@@ -433,7 +433,7 @@ ZEND_API int _mem_block_check(void *ptr, int silent, char *filename, int lineno)
if (!silent) {
zend_message_dispatcher(ZMSG_LOG_SCRIPT_NAME, NULL);
zend_debug_alloc_output("---------------------------------------\n");
- zend_debug_alloc_output("Block 0x%0.8lX status at %s:%d:\n", (long) p, filename, lineno);
+ zend_debug_alloc_output("%s(%d) : Block 0x%0.8lX status:\n", filename, lineno, (long) p);
zend_debug_alloc_output("%10s\t","Beginning: ");
}
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index ec43dcdbdc..48601ca70f 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -1429,6 +1429,7 @@ void do_add_static_array_element(znode *result, znode *offset, znode *expr)
switch (offset->u.constant.type) {
case IS_STRING:
zend_hash_update(result->u.constant.value.ht, offset->u.constant.value.str.val, offset->u.constant.value.str.len+1, &element, sizeof(zval *), NULL);
+ zval_dtor(&offset->u.constant);
break;
case IS_LONG:
zend_hash_index_update(result->u.constant.value.ht, offset->u.constant.value.lval, &element, sizeof(zval *), NULL);
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index 9496edd5d2..4dc7d4c337 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -390,11 +390,11 @@ ZEND_API int add_function(zval *result, zval *op1, zval *op2)
zval op1_copy, op2_copy;
if (op1->type == IS_ARRAY && op2->type == IS_ARRAY) {
- zval tmp;
+ zval *tmp;
*result = *op1;
zval_copy_ctor(result);
- zend_hash_merge(result->value.ht,op2->value.ht,(void (*)(void *pData)) zval_copy_ctor, (void *) &tmp, sizeof(zval), 0);
+ zend_hash_merge(result->value.ht, op2->value.ht, (void (*)(void *pData)) zval_add_ref, (void *) &tmp, sizeof(zval *), 0);
return SUCCESS;
}
zendi_convert_scalar_to_number(op1, op1_copy);