mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Error on resource ID space overflow
When more than INT_MAX resource are created, throw a fatal error, rather than reusing already allocated IDs, which will result in assertion failures or crashes down the line. This doesn't fix the fundamental problem, but makes the failure more graceful with an obvious cause. Inspired by https://bugs.php.net/bug.php?id=81399. Closes GH-7428.
This commit is contained in:
parent
edab9ad205
commit
501f1a45f5
1 changed files with 2 additions and 0 deletions
|
@ -37,6 +37,8 @@ ZEND_API zval* ZEND_FASTCALL zend_list_insert(void *ptr, int type)
|
|||
index = zend_hash_next_free_element(&EG(regular_list));
|
||||
if (index == 0) {
|
||||
index = 1;
|
||||
} else if (index == INT_MAX) {
|
||||
zend_error_noreturn(E_ERROR, "Resource ID space overflow");
|
||||
}
|
||||
ZVAL_NEW_RES(&zv, index, ptr, type);
|
||||
return zend_hash_index_add_new(&EG(regular_list), index, &zv);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue