src/server/daemon/httprequest.c

changeset 662
70fdf948b642
parent 660
f00d03835dd9
child 665
b8d5b797d090
--- 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;

mercurial