]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: arg: free all args on make_arg_list()'s error path
authorWilly Tarreau <w@1wt.eu>
Sat, 17 Jul 2021 16:36:43 +0000 (18:36 +0200)
committerWilly Tarreau <w@1wt.eu>
Sat, 17 Jul 2021 16:36:43 +0000 (18:36 +0200)
commit69a23ae0917750329fa5e6072f5cb9b68b949bdd
tree2dd4d8a4eb0ac161c567a19e5a4a705d07abdaec
parentbccc91d33ece3591447df04f90e28664b06528b0
BUG/MINOR: arg: free all args on make_arg_list()'s error path

While we do free the array containing the arguments, we do not free
allocated ones. Most of them are unresolved, but strings are allocated
and have to be freed as well. Note that for the sake of not breaking
the args resolution list that might have been set, we still refrain
from doing this if a resolution was already programmed, but for most
common cases (including the ones that can be found in config conditions
and at run time) we're safe.

This may be backported to stable branches, but it relies on the new
free_args() function that was introduced by commit ab213a5b6 ("MINOR:
arg: add a free_args() function to free an args array"), and which is
likely safe to backport as well.

This leak was reported by oss-fuzz (issue 36265).
src/arg.c