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

From: Colin King
Date: Mon Oct 29 2018 - 19:22:03 EST


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;
}

cnode = (struct ubifs_cnode *)c->nroot;
--
2.19.1