diff options
| author | Stanislav Malyshev <stas@php.net> | 2002-08-01 16:07:19 +0000 |
|---|---|---|
| committer | Stanislav Malyshev <stas@php.net> | 2002-08-01 16:07:19 +0000 |
| commit | 0e7c1f460941d5e824982d62672ec189dd683a2d (patch) | |
| tree | ddfbcee747785d08bd46a7a4e080e0fc1e33269f | |
| parent | b15651c95f43993d32855913ca32545b594a98af (diff) | |
| download | php-git-0e7c1f460941d5e824982d62672ec189dd683a2d.tar.gz | |
MFZE1
| -rw-r--r-- | Zend/zend_execute.c | 6 | ||||
| -rw-r--r-- | Zend/zend_hash.c | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 573e2c384d..fb0f8b0835 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -791,7 +791,11 @@ static void zend_fetch_dimension_address(znode *result, znode *op1, znode *op2, zval *new_zval = &EG(uninitialized_zval); new_zval->refcount++; - zend_hash_next_index_insert(container->value.ht, &new_zval, sizeof(zval *), (void **) retval); + if (zend_hash_next_index_insert(container->value.ht, &new_zval, sizeof(zval *), (void **) retval) == FAILURE) { + zend_error(E_WARNING, "Cannot add element to the array as the nexxt element is already occupied"); + *retval = &EG(uninitialized_zval_ptr); + new_zval->refcount--; + } } else { *retval = zend_fetch_dimension_address_inner(container->value.ht, op2, Ts, type TSRMLS_CC); } diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c index 06f8335d7f..77b4caa656 100644 --- a/Zend/zend_hash.c +++ b/Zend/zend_hash.c @@ -393,7 +393,7 @@ ZEND_API int zend_hash_index_update_or_next_insert(HashTable *ht, ulong h, void } UPDATE_DATA(ht, p, pData, nDataSize); HANDLE_UNBLOCK_INTERRUPTIONS(); - if (h >= ht->nNextFreeElement) { + if ((long)h >= (long)ht->nNextFreeElement) { ht->nNextFreeElement = h + 1; } if (pDest) { @@ -421,7 +421,7 @@ ZEND_API int zend_hash_index_update_or_next_insert(HashTable *ht, ulong h, void CONNECT_TO_GLOBAL_DLLIST(p, ht); HANDLE_UNBLOCK_INTERRUPTIONS(); - if (h >= ht->nNextFreeElement) { + if ((long)h >= (long)ht->nNextFreeElement) { ht->nNextFreeElement = h + 1; } ht->nNumOfElements++; |
