Index | Thread | Search

From:
Claudio Jeker <cjeker@diehard.n-r-g.com>
Subject:
Re: rpki-client: don't leak mft->crl
To:
Theo Buehler <tb@theobuehler.org>
Cc:
tech@openbsd.org
Date:
Wed, 15 May 2024 11:11:12 +0200

Download raw body.

Thread
On Wed, May 15, 2024 at 11:00:53AM +0200, Theo Buehler wrote:
> Another obvious leak. filesz and files must be in sync, so no need for a
> NULL check. Also I find it much easier to check for leaks if the order
> of the freeing matches the order in the struct.

OK claudio@
 
> Index: mft.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/rpki-client/mft.c,v
> diff -u -p -r1.113 mft.c
> --- mft.c	20 Apr 2024 15:45:41 -0000	1.113
> +++ mft.c	15 May 2024 08:49:46 -0000
> @@ -512,17 +512,17 @@ mft_free(struct mft *p)
>  	if (p == NULL)
>  		return;
>  
> -	if (p->files != NULL)
> -		for (i = 0; i < p->filesz; i++)
> -			free(p->files[i].file);
> +	for (i = 0; i < p->filesz; i++)
> +		free(p->files[i].file);
>  
> +	free(p->path);
> +	free(p->files);
> +	free(p->seqnum);
>  	free(p->aia);
>  	free(p->aki);
>  	free(p->sia);
>  	free(p->ski);
> -	free(p->path);
> -	free(p->files);
> -	free(p->seqnum);
> +	free(p->crl);
>  	free(p);
>  }
>  
> 

-- 
:wq Claudio