]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: acl: set arg_list->kw to aclkw->kw string literal if aclkw is found
authorValentine Krasnobaeva <vkrasnobaeva@haproxy.com>
Tue, 26 Aug 2025 22:33:48 +0000 (00:33 +0200)
committerWilly Tarreau <w@1wt.eu>
Thu, 28 Aug 2025 08:22:21 +0000 (10:22 +0200)
commit441cd614f92bd3d7d66003e509ae71bcb779b0f5
treec505f3e4f42d45ac7e045aafc504d2880e94a9c4
parentffa926ead3f17cd8da773daa137184619bfc1a0a
BUG/MINOR: acl: set arg_list->kw to aclkw->kw string literal if aclkw is found

During configuration parsing *args can contain different addresses, it is
changing from line to line. smp_resolve_args() is called after the
configuration parsing, it uses arg_list->kw to create an error message, if a
userlist referenced in some ACL is absent. This leads to wrong keyword names
reported in such message or some garbage is printed.

It does not happen in the case of sample fetches. In this case arg_list->kw is
assigned to a string literal from the sample_fetch struct returned by
find_sample_fetch(). Let's do the same in parse_acl_expr(), when find_acl_kw()
lookup returns a corresponding acl_keyword structure.

This fixes the issue #3088 at GitHub.
This should be backported in all stable versions since 2.6 including 2.6.
src/acl.c