]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUILD: acl: silence a possible null deref warning in parse_acl_expr()
authorWilly Tarreau <w@1wt.eu>
Tue, 2 Sep 2025 15:41:51 +0000 (17:41 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 2 Sep 2025 15:41:51 +0000 (17:41 +0200)
The fix in commit 441cd614f9 ("BUG/MINOR: acl: set arg_list->kw to
aclkw->kw string literal if aclkw is found") involves an unchecked
access to "al" after that one is tested for possibly being NULL. This
rightfully upsets Coverity (GH #3095) and might also trigger warnings
depending on the compilers. However, no known caller to date passes
a NULL arg list here so there's no way to trigger this theoretical
bug.

This should be backported along with the fix above to avoid emitting
warnings, possibly as far as 2.6 since that fix was tagged as such.

src/acl.c

index 73fdf7207b4accd5f909351b2986f5728dd78d1a..370d696c0a4c39a5bee9276d4c6b1ab1fa4c295b 100644 (file)
--- a/src/acl.c
+++ b/src/acl.c
@@ -171,7 +171,9 @@ struct acl_expr *parse_acl_expr(const char **args, char **err, struct arg_list *
        if (aclkw) {
                /* OK we have a real ACL keyword */
 
-               al->kw = aclkw->kw;
+               if (al)
+                       al->kw = aclkw->kw;
+
                /* build new sample expression for this ACL */
                smp = calloc(1, sizeof(*smp));
                if (!smp) {