]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: acl: Add OOM check for calloc() in smp_fetch_acl_parse()
authorAlexander Stephan <alexander.stephan@sap.com>
Mon, 1 Sep 2025 09:47:30 +0000 (09:47 +0000)
committerWilly Tarreau <w@1wt.eu>
Tue, 2 Sep 2025 05:29:54 +0000 (07:29 +0200)
This patch adds a missing out-of-memory (OOM) check after
the call to `calloc()` in `smp_fetch_acl_parse()`. If
memory allocation fails, an error message is set and
the function returns 0, improving robustness in
low-memory situations.

Co-authored-by: Christian Norbert Menges <christian.norbert.menges@sap.com>
src/acl.c

index 9325257f9b923cf9658da36dd94fedf37a321127..73fdf7207b4accd5f909351b2986f5728dd78d1a 100644 (file)
--- 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);