[Dnsmasq-discuss] [PATCH] Fix potential memory leak
Geert Stappers
stappers at stappers.nl
Sat Mar 2 16:03:01 UTC 2024
On Fri, Mar 01, 2024 at 04:43:20PM -0500, Brian Haley wrote:
> When a new IPv6 address is being added to a dhcp_config
> struct, if there is anything invalid regarding the prefix
> it looks like there is a potential memory leak.
> ret_err_free() should be used to free it.
>
> Signed-off-by: Brian Haley <haleyb.dev at gmail.com>
> ---
> src/option.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/src/option.c b/src/option.c
> index f4ff7c0..02be995 100644
> --- a/src/option.c
> +++ b/src/option.c
> @@ -4034,7 +4034,7 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
> ((((u64)1<<(128-new_addr->prefixlen))-1) & addrpart) != 0)
> {
> dhcp_config_free(new);
> - ret_err(_("bad IPv6 prefix"));
> + ret_err_free(_("bad IPv6 prefix"), new_addr);
> }
>
> new_addr->flags |= ADDRLIST_PREFIX;
Looks good to me
> Also, the new addrlist struct is being linked into
> the existing addr6 list in the dhcp_config before the
> validity check, it is best to defer this insertion
> until later so an invalid entry is not present, since
> the CONFIG_ADDR6 flag might not have been set yet.
That is worth its own commit.
Groeten
Geert Stappers
--
Silence is hard to parse
More information about the Dnsmasq-discuss
mailing list