diff --git a/prism/util/pm_constant_pool.c b/prism/util/pm_constant_pool.c index 624002cec9..38ea01a228 100644 --- a/prism/util/pm_constant_pool.c +++ b/prism/util/pm_constant_pool.c @@ -15,8 +15,12 @@ pm_constant_id_list_init(pm_constant_id_list_t *list) { */ void pm_constant_id_list_init_capacity(pm_constant_id_list_t *list, size_t capacity) { - list->ids = xcalloc(capacity, sizeof(pm_constant_id_t)); - if (list->ids == NULL) abort(); + if (capacity) { + list->ids = xcalloc(capacity, sizeof(pm_constant_id_t)); + if (list->ids == NULL) abort(); + } else { + list->ids = NULL; + } list->size = 0; list->capacity = capacity;