diff --git a/src/acl.c b/src/acl.c index 9325257f9..73fdf7207 100644 --- a/src/acl.c +++ b/src/acl.c @@ -1351,6 +1351,10 @@ int smp_fetch_acl_parse(struct arg *args, char **err_msg) for (i = 0; args[i].type != ARGT_STOP; i++) ; acl_sample = calloc(1, sizeof(struct acl_sample) + sizeof(struct acl_term) * i); + if (unlikely(!acl_sample)) { + memprintf(err_msg, "out of memory when parsing ACL expression"); + return 0; + } LIST_INIT(&acl_sample->suite.terms); LIST_INIT(&acl_sample->cond.suites); LIST_APPEND(&acl_sample->cond.suites, &acl_sample->suite.list);