src/server/daemon/acl.c

changeset 638
14ae3d8c01ae
parent 470
467ed0f559af
--- a/src/server/daemon/acl.c	Sun Nov 23 13:27:13 2025 +0100
+++ b/src/server/daemon/acl.c	Sun Nov 23 13:45:55 2025 +0100
@@ -39,20 +39,26 @@
 
 #define AUTH_TYPE_BASIC "basic"
 
-void acllist_createhandle(Session *sn, Request *rq) {
+int acllist_createhandle(Session *sn, Request *rq) {
     ACLListHandle *handle = pool_malloc(sn->pool, sizeof(ACLListHandle));
+    if(!handle) {
+        return 1;
+    }
     handle->defaultauthdb = NULL;
     handle->listhead = NULL;
     handle->listtail = NULL;
     rq->acllist = handle;
+    return 0;
 }
 
 /*
  * append or prepend an ACL
  */
-void acllist_add(Session *sn, Request *rq, ACLList *acl, int append) {
+int acllist_add(Session *sn, Request *rq, ACLList *acl, int append) {
     if(!rq->acllist) {
-        acllist_createhandle(sn, rq);
+        if(acllist_createhandle(sn, rq)) {
+            return 1;
+        }
     }
     ACLListHandle *list = rq->acllist;
 
@@ -61,6 +67,9 @@
     }
 
     ACLListElm *elm = pool_malloc(sn->pool, sizeof(ACLListElm));
+    if(!elm) {
+        return 1;
+    }
     elm->acl = acl;
     elm->next = NULL;
     if(list->listhead == NULL) {
@@ -75,14 +84,15 @@
             list->listhead = elm;
         }
     }
+    return 0;
 }
 
-void acllist_append(Session *sn, Request *rq, ACLList *acl) {
-    acllist_add(sn, rq, acl, 1);
+int acllist_append(Session *sn, Request *rq, ACLList *acl) {
+    return acllist_add(sn, rq, acl, 1);
 }
 
-void acllist_prepend(Session *sn, Request *rq, ACLList *acl) {
-    acllist_add(sn, rq, acl, 0);
+int acllist_prepend(Session *sn, Request *rq, ACLList *acl) {
+    return acllist_add(sn, rq, acl, 0);
 }
 
 uint32_t acl_oflag2mask(int oflags) {

mercurial