diff options
author | Felipe Pena <felipe@php.net> | 2008-03-08 11:35:12 +0000 |
---|---|---|
committer | Felipe Pena <felipe@php.net> | 2008-03-08 11:35:12 +0000 |
commit | ddc8a6316822b36dfb6b735df704a44caa344527 (patch) | |
tree | a1f1b43b97bb2763a48adb9fc83aef2e8d5977ee /Zend/zend_execute.c | |
parent | 342a75906a5f0bada83c59d25666cb5c48cb49a9 (diff) | |
download | php-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.c | 4 |
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); |