diff options
-rw-r--r-- | Zend/zend_alloc.c | 2 | ||||
-rw-r--r-- | Zend/zend_compile.c | 1 | ||||
-rw-r--r-- | Zend/zend_operators.c | 4 |
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); |