Bug #11474 Updated: list delete api always tries to delete from regular list instead of given list
| From: | sniper@php.net | Date: | Thu, 14 Jun 2001 04:50:21 +0000 |
| Subject: | Bug #11474 Updated: list delete api always tries to delete from regular list instead of given list | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-56679@lists.php.net to get a copy of this message | ||
ID: 11474
Updated by: sniper
Reported By: kpatel@mahinetworks.com
Old-Status: Open
Status: Bogus
Bug Type: Scripting Engine problem
Operating system:
PHP Version: 4.0.4
Assigned To:
Comments:
This function doesn't exist anymore in PHP 4.0.6RC3 or in the latest CVS.
--Jani
Previous Comments:
---------------------------------------------------------------------------
[2001-06-13 16:50:28] kpatel@mahinetworks.com
static inline int zend_list_do_delete(HashTable *list,int id)
{
zend_rsrc_list_entry *le;
ELS_FETCH();
if (zend_hash_index_find(&EG(regular_list), id, (void **) &le)==SUCCESS) {
/* printf("del(%d): %d->%dn", id, le->refcount, le->refcount-1); */
if (--le->refcount<=0) {
return zend_hash_index_del(&EG(regular_list), id);
} else {
return SUCCESS;
}
} else {
return FAILURE;
}
}
In the above function from zend_list.c, as you can see that it is passed a HashTable *list parameter
to delete the entry from, but when it calls the hash find and delete functions, it DOES NOT use the
parameters HashTable * list which is passed in. Instead it passes &EG(regular_list), so even if
call zend_plist_delete(...) to try to delete something from the persistent list, it'll try to
delete it from the regular list.
NOTE: I checked the 4.0.5 release and it has the same problem.
---------------------------------------------------------------------------
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=11474&edit=2