Re: [PATCH nft,v2] libnftables: memleak when list of commands is empty

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2019-09-27, at 08:42:51 +0200, Pablo Neira Ayuso wrote:
> ==9946== 200,807 (40 direct, 200,767 indirect) bytes in 1 blocks are definitely lost in loss record 4 of 4
> ==9946==    at 0x4837B65: calloc (vg_replace_malloc.c:762)
> ==9946==    by 0x4F28216: nftnl_batch_alloc (batch.c:66)
> ==9946==    by 0x48A33E8: mnl_batch_init (mnl.c:164)
> ==9946==    by 0x48A736F: nft_netlink.isra.0 (libnftables.c:29)
> ==9946==    by 0x48A7D03: nft_run_cmd_from_filename (libnftables.c:508)
> ==9946==    by 0x10A621: main (main.c:328)
>
> Fixes: fc6d0f8b0cb1 ("libnftables: get rid of repeated initialization of netlink_ctx")

Whoops.  Thanks for fixing this.

> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>

Acked-by: Jeremy Sowden <jeremy@xxxxxxxxxx>

> ---
> v2: better commit description and title.
>
>  src/libnftables.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/libnftables.c b/src/libnftables.c
> index a19636b22683..e20372438db6 100644
> --- a/src/libnftables.c
> +++ b/src/libnftables.c
> @@ -34,7 +34,7 @@ static int nft_netlink(struct nft_ctx *nft,
>  	int ret = 0;
>
>  	if (list_empty(cmds))
> -		return 0;
> +		goto out;
>
>  	batch_seqnum = mnl_batch_begin(ctx.batch, mnl_seqnum_alloc(&seqnum));
>  	list_for_each_entry(cmd, cmds, list) {
> --
> 2.11.0
>
>

J.

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux