cvs: Zend / zend_execute.c zend_hash.c

From: Date: Thu, 01 Aug 2002 16:03:22 +0000
Subject: cvs: Zend / zend_execute.c zend_hash.c
Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-292@lists.php.net to get a copy of this message
stas Thu Aug 1 12:03:22 2002 EDT Modified files: /Zend zend_execute.c zend_hash.c Log: fix bug #18140 - check return value of insert and make insert not wrap around Index: Zend/zend_execute.c diff -u Zend/zend_execute.c:1.298 Zend/zend_execute.c:1.299 --- Zend/zend_execute.c:1.298 Tue Jul 30 15:42:20 2002 +++ Zend/zend_execute.c Thu Aug 1 12:03:21 2002 @@ -757,7 +757,11 @@ 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); } Index: Zend/zend_hash.c diff -u Zend/zend_hash.c:1.85 Zend/zend_hash.c:1.86 --- Zend/zend_hash.c:1.85 Fri Apr 19 11:40:34 2002 +++ Zend/zend_hash.c Thu Aug 1 12:03:21 2002 @@ -393,7 +393,7 @@ } UPDATE_DATA(ht, p, pData, nDataSize); HANDLE_UNBLOCK_INTERRUPTIONS(); - if (h >= ht->nNextFreeElement) { + if ((long)h >= (long)ht->nNextFreeElement) { /* comparing signed to avoid wraparounds on -1 */ ht->nNextFreeElement = h + 1; } if (pDest) { @@ -421,7 +421,7 @@ CONNECT_TO_GLOBAL_DLLIST(p, ht); HANDLE_UNBLOCK_INTERRUPTIONS(); - if (h >= ht->nNextFreeElement) { + if ((long)h >= (long)ht->nNextFreeElement) { /* comparing signed to avoid wraparounds on -1 */ ht->nNextFreeElement = h + 1; } ht->nNumOfElements++;

« previous php.zend-engine.cvs (#292) next »