summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoriyoshi Koizumi <moriyoshi@php.net>2003-11-13 20:53:55 +0000
committerMoriyoshi Koizumi <moriyoshi@php.net>2003-11-13 20:53:55 +0000
commit138b1c7be323d38a6446b83e440f0d326dbf3925 (patch)
tree67bf6dc9a4e2e95563674cddaf73452a56a2d3d0
parent2b35596d7f3762b805a24df481a65ed3cc5de319 (diff)
downloadphp-git-138b1c7be323d38a6446b83e440f0d326dbf3925.tar.gz
Bugfix #26156 (REPLACE_ZVAL_VALUE works on uninit stack-based zvals)
-rw-r--r--Zend/zend_operators.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index 453f1f0f5c..6b581138e3 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -494,10 +494,7 @@ ZEND_API void _convert_to_string(zval *op ZEND_FILE_LINE_DC)
case IS_OBJECT: {
TSRMLS_FETCH();
if (op->value.obj.handlers->cast_object) {
- zval tmp;
- if (op->value.obj.handlers->cast_object(op, &tmp, IS_STRING, 1 TSRMLS_CC) == SUCCESS && tmp.type == IS_STRING) {
- zval_dtor(op);
- *op = tmp;
+ if (op->value.obj.handlers->cast_object(op, op, IS_STRING, 1 TSRMLS_CC) == SUCCESS) {
break;
}
zend_error(E_NOTICE, "Object of class %s could not be converted to string", Z_OBJCE_P(op)->name);