static void
ptr_vector_append(PtrVector* vector, void* data)
{
- if (vector->alloc < vector->len + 1 && vector->alloc < UINT_MAX / 2) {
+ if (vector->alloc * sizeof(vector->ptrs[0]) >= SIZE_MAX / 2)
+ return;
+
+ if (vector->alloc < vector->len + 1) {
size_t alloc = vector->alloc * 2;
void** ptrs;
static void
hanja_list_reserve(HanjaList* list, size_t n)
{
- if (list->alloc < list->len + n && list->alloc < UINT_MAX / 2) {
+ if (list->alloc * sizeof(list->items[0]) >= SIZE_MAX / 2)
+ return;
+
+ if (list->alloc < list->len + n) {
const Hanja** data;
size_t size = list->alloc;