summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Jones <sixd@php.net>2013-08-06 10:01:43 -0700
committerChristopher Jones <sixd@php.net>2013-08-06 10:01:43 -0700
commit930183f9611560b831ebcb454aae8ee9a40294dc (patch)
tree80ffaa479f52cc6d71f25293e92bbdddd7f978f8
parent6184753fab4f9370e1cbd5550c2e3a16ae865c28 (diff)
parentaa042d0c351056d4ee5ecc994cd596f7fbb427ea (diff)
downloadphp-git-930183f9611560b831ebcb454aae8ee9a40294dc.tar.gz
Merge branch 'PHP-5.5' of https://git.php.net/repository/php-src into PHP-5.5
# By Xinchen Hui # Via Xinchen Hui * 'PHP-5.5' of https://git.php.net/repository/php-src: Re-fix Bug #65372 (Segfault in gc_zval_possible_root when return reference fails)
-rw-r--r--Zend/zend_vm_def.h1
-rw-r--r--Zend/zend_vm_execute.h4
2 files changed, 5 insertions, 0 deletions
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index aecc6027f7..c3b6ed6cd3 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -2924,6 +2924,7 @@ ZEND_VM_HANDLER(111, ZEND_RETURN_BY_REF, CONST|TMP|VAR|CV, ANY)
ALLOC_ZVAL(ret);
INIT_PZVAL_COPY(ret, *retval_ptr_ptr);
+ zval_copy_ctor(ret);
*EG(return_value_ptr_ptr) = ret;
}
break;
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index 98696bdf95..78d6e921cd 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -2414,6 +2414,7 @@ static int ZEND_FASTCALL ZEND_RETURN_BY_REF_SPEC_CONST_HANDLER(ZEND_OPCODE_HAND
ALLOC_ZVAL(ret);
INIT_PZVAL_COPY(ret, *retval_ptr_ptr);
+ zval_copy_ctor(ret);
*EG(return_value_ptr_ptr) = ret;
}
break;
@@ -7741,6 +7742,7 @@ static int ZEND_FASTCALL ZEND_RETURN_BY_REF_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLE
ALLOC_ZVAL(ret);
INIT_PZVAL_COPY(ret, *retval_ptr_ptr);
+ zval_copy_ctor(ret);
*EG(return_value_ptr_ptr) = ret;
}
break;
@@ -12969,6 +12971,7 @@ static int ZEND_FASTCALL ZEND_RETURN_BY_REF_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLE
ALLOC_ZVAL(ret);
INIT_PZVAL_COPY(ret, *retval_ptr_ptr);
+ zval_copy_ctor(ret);
*EG(return_value_ptr_ptr) = ret;
}
break;
@@ -30615,6 +30618,7 @@ static int ZEND_FASTCALL ZEND_RETURN_BY_REF_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER
ALLOC_ZVAL(ret);
INIT_PZVAL_COPY(ret, *retval_ptr_ptr);
+ zval_copy_ctor(ret);
*EG(return_value_ptr_ptr) = ret;
}
break;