mirror of
https://github.com/php/php-src.git
synced 2024-11-28 20:34:29 +08: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
@ -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…
Reference in New Issue
Block a user