]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: server: always initialize pp_tlvs for default servers
authorWilly Tarreau <w@1wt.eu>
Mon, 13 Nov 2023 07:46:51 +0000 (08:46 +0100)
committerWilly Tarreau <w@1wt.eu>
Mon, 13 Nov 2023 07:53:28 +0000 (08:53 +0100)
commit79aa638238721026e8dffc4aa057facf0859e81a
treec3ec1ae83c781917c4bcf25fba0190f793165dfa
parentdfda884633c202d7c2df281b19b7a12ed738aee2
MINOR: server: always initialize pp_tlvs for default servers

In commit 6f4bfed3a ("MINOR: server: Add parser support for
set-proxy-v2-tlv-fmt") a suspicious check for a NULL srv_tlv was placed
in the list_for_each_entry(), that should not be needed. In practice,
it's caused by the list head not being initialized, hence the first
element is NULL, as shown by Alexander's reproducer below which crashes
if the test in the loop is removed:

  backend dummy
    default-server send-proxy-v2 set-proxy-v2-tlv-fmt(0xE1) %[fc_pp_tlv(0xE1)]
    server dummy_server 127.0.0.1:2319

The right place to initialize this field is proxy_preset_defaults().
We'd really need a function to initialize a server :-/

The check in the loop was removed. No backport is needed.
src/proxy.c
src/server.c