diff -r a4e1ba59b733 -r 70fdf948b642 src/server/daemon/httprequest.c --- a/src/server/daemon/httprequest.c Tue Feb 03 19:09:53 2026 +0100 +++ b/src/server/daemon/httprequest.c Fri Feb 06 14:06:04 2026 +0100 @@ -471,15 +471,26 @@ } +HeaderArray* header_array_create(void) { + HeaderArray *array = malloc(sizeof(HeaderArray)); + if(!array) { + return NULL; + } + array->next = NULL; + array->len = 0; + array->alloc = 16; + array->headers = calloc(16, sizeof(Header)); + if(array->headers) { + free(array); + return NULL; + } + return array; +} -void header_add(HeaderArray *hd, cxmutstr name, cxmutstr value) { +void header_array_add(HeaderArray *hd, cxmutstr name, cxmutstr value) { while(hd->len >= hd->alloc) { if(hd->next == NULL) { - HeaderArray *block = malloc(sizeof(HeaderArray)); - block->next = NULL; - block->len = 0; - block->headers = calloc(16, sizeof(Header)); - block->alloc = 16; + HeaderArray *block = header_array_create(); hd->next = block; } hd = hd->next;