diff options
author | Marcus Boerger <helly@php.net> | 2003-09-15 20:20:14 +0000 |
---|---|---|
committer | Marcus Boerger <helly@php.net> | 2003-09-15 20:20:14 +0000 |
commit | 16a816b92c15f25dae8402110ba0193a4bb5bb9c (patch) | |
tree | b18191b50be634e497df568dea835d5e1ac2af50 | |
parent | e76de52de731d7bb65d1a388713efae1a09db0ab (diff) | |
download | php-git-16a816b92c15f25dae8402110ba0193a4bb5bb9c.tar.gz |
Bugfix #25547
-rw-r--r-- | Zend/zend_execute.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 6d0111f936..5cf85d3478 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -763,6 +763,8 @@ fetch_string_dim: retval = &EG(uninitialized_zval_ptr); break; case BP_VAR_RW: + offset_key = estrndup(offset_key, offset_key_length); + /* calling an user error handler may free zval dim, so we copy the string */ zend_error(E_NOTICE,"Undefined index: %s", offset_key); /* break missing intentionally */ case BP_VAR_W: { @@ -771,6 +773,9 @@ fetch_string_dim: new_zval->refcount++; zend_symtable_update(ht, offset_key, offset_key_length+1, &new_zval, sizeof(zval *), (void **) &retval); } + if (type == BP_VAR_RW) { + efree(offset_key); + } break; } } |