com php-src: Fixed possible access to uninitialized data (prevents valgrind issues in Zend/tests/bug70089.phpt): Zend/zend_vm_def.h
Zend/zend_vm_execute.h
| From: | Dmitry Stogov | Date: | Tue, 04 Aug 2015 07:48:32 +0000 |
| Subject: | com php-src: Fixed possible access to uninitialized data (prevents valgrind issues in Zend/tests/bug70089.phpt): Zend/zend_vm_def.h Zend/zend_vm_execute.h |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-88296@lists.php.net to get a copy of this message | ||
Commit: 5202ba5a3e8a2c57506e03639bb3dbcbdb8b3c07
Author: Dmitry Stogov <dmitry@zend.com> Tue, 4 Aug 2015 10:48:32 +0300
Parents: fdb0dd9fc4c8f4e98c02a9457e09d0a87f34168c
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=5202ba5a3e8a2c57506e03639bb3dbcbdb8b3c07
Log:
Fixed possible access to uninitialized data (prevents valgrind issues in Zend/tests/bug70089.phpt)
Bugs:
https://bugs.php.net/70089
Changed paths:
M Zend/zend_vm_def.h
M Zend/zend_vm_execute.h
Diff:
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index 10b947d..b3ae031 100644
--- a/Zend/zend_vm_def..h
+++ b/Zend/zend_vm_def.h
@@ -4292,6 +4292,8 @@ ZEND_VM_HANDLER(67, ZEND_SEND_REF, VAR|CV, ANY)
if (OP1_TYPE == IS_VAR && UNEXPECTED(varptr == NULL)) {
zend_throw_error(NULL, "Only variables can be passed by reference");
+ arg = ZEND_CALL_VAR(EX(call), opline->result.var);
+ ZVAL_UNDEF(arg);
HANDLE_EXCEPTION();
}
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index c580ba0..f1927ff 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -15248,6 +15248,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL
ZEND_SEND_REF_SPEC_VAR_HANDLER(ZEND
if (IS_VAR == IS_VAR && UNEXPECTED(varptr == NULL)) {
zend_throw_error(NULL, "Only variables can be passed by reference");
+ arg = ZEND_CALL_VAR(EX(call), opline->result.var);
+ ZVAL_UNDEF(arg);
HANDLE_EXCEPTION();
}
@@ -28630,6 +28632,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL
ZEND_SEND_REF_SPEC_CV_HANDLER(ZEND_
if (IS_CV == IS_VAR && UNEXPECTED(varptr == NULL)) {
zend_throw_error(NULL, "Only variables can be passed by reference");
+ arg = ZEND_CALL_VAR(EX(call), opline->result.var);
+ ZVAL_UNDEF(arg);
HANDLE_EXCEPTION();
}