summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorFelipe Pena <felipe@php.net>2008-03-08 11:35:12 +0000
committerFelipe Pena <felipe@php.net>2008-03-08 11:35:12 +0000
commitddc8a6316822b36dfb6b735df704a44caa344527 (patch)
treea1f1b43b97bb2763a48adb9fc83aef2e8d5977ee /Zend/zend_execute.c
parent342a75906a5f0bada83c59d25666cb5c48cb49a9 (diff)
downloadphp-git-ddc8a6316822b36dfb6b735df704a44caa344527.tar.gz
Fixed bug #39018 (Error control operator '@' fails to suppress "Uninitialized string offset")
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 721d410d16..f54afeab28 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -200,7 +200,6 @@ static inline zval *_get_zval_ptr_var(znode *node, temp_variable *Ts, zend_free_
if (T->str_offset.str->type != IS_STRING
|| ((int)T->str_offset.offset < 0)
|| (T->str_offset.str->value.str.len <= (int)T->str_offset.offset)) {
- zend_error(E_NOTICE, "Uninitialized string offset: %d", T->str_offset.offset);
ptr->value.str.val = STR_EMPTY_ALLOC();
ptr->value.str.len = 0;
} else {
@@ -1188,6 +1187,9 @@ static void zend_fetch_dimension_address_read(temp_variable *result, zval **cont
dim = &tmp;
}
if (result) {
+ if (Z_LVAL_P(dim) < 0 || Z_STRLEN_P(container) <= Z_LVAL_P(dim)) {
+ zend_error(E_NOTICE, "Uninitialized string offset: %ld", Z_LVAL_P(dim));
+ }
result->str_offset.str = container;
PZVAL_LOCK(container);
result->str_offset.offset = Z_LVAL_P(dim);