It doesn't matter what you allocate here, the pointer will be replaced when `item_realloc()` gets called. This line was originally an allocation of size 0 that got changed in commit 9dba420d0a78: ``` - item = heap_alloc_zero(sizeof(IndexItem)); + item = calloc(1, sizeof(IndexItem)); item->nItems = 0; - item->items = heap_alloc_zero(0); + item->items = calloc(2, sizeof(void *)); item->itemFlags = 0x11; ``` So, I would suggest making this a `malloc(0)` instead so that it's clear that we just want the pointer for later use in `realloc`.