Re: [PATCH][next] ubifs: authentication: fix memory leak on error exit path

From: Richard Weinberger
Date: Mon Oct 29 2018 - 19:32:41 EST


Am Dienstag, 30. Oktober 2018, 00:21:46 CET schrieb Colin King:
> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>
> Currently a failure when calling ubifs_read_nnode results in a leak
> of desc and buf because of a direct return. Fix this by exiting via
> label 'out' that performs the necessary free'ing of the resources.
>
> Fixes: a1dc58140f7e ("ubifs: authentication: Authenticate LPT")
>
> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> ---
> fs/ubifs/lpt.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/ubifs/lpt.c b/fs/ubifs/lpt.c
> index d1d5e96350dd..c162459a1e02 100644
> --- a/fs/ubifs/lpt.c
> +++ b/fs/ubifs/lpt.c
> @@ -1688,7 +1688,7 @@ int ubifs_lpt_calc_hash(struct ubifs_info *c, u8 *hash)
> if (!c->nroot) {
> err = ubifs_read_nnode(c, NULL, 0);
> if (err)
> - return err;
> + goto out;

IMHO a better fix would be reading the root node before allocating these buffers.

Thanks,
//richard