]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: log: fix leak in add_sample_to_logformat_list() error path
authorAurelien DARRAGON <adarragon@haproxy.com>
Mon, 13 May 2024 14:24:10 +0000 (16:24 +0200)
committerAurelien DARRAGON <adarragon@haproxy.com>
Mon, 13 May 2024 14:44:27 +0000 (16:44 +0200)
commit9d4a44e7137fba2c7ca2823174ba1168290a1c3b
tree05fed654d4e819945335d16208000a38dd4698be
parentcbe78c0281f918e0c6ebf8202f29e9278a954fc2
BUG/MINOR: log: fix leak in add_sample_to_logformat_list() error path

If add_sample_to_logformat_list() fails to allocate new logformat_node,
then we directly jump to error_free label to cleanup the node using
free_logformat_node() before returning an error.

However if the node failed to allocate, then the sample expression that
was allocated just before (not yet assigned) isn't released
(free_logformat_node() is a no-op when NULL is provided). Thus if expr
wasn't assigned to the node during early failure, then it must be manually
released.

This bug was introduced by 2462e5bcc ("BUG/MINOR: log: fix potential
lf->name memory leak") which wasn't marked for backports. It only
affects 3.0.
src/log.c