--- 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) {