Discussion:
[PATCH] ubifs: fix a memory leak in ubifs_lpt_calc_hash()
Dan Carpenter
2018-12-03 14:47:43 UTC
Permalink
We need to free a couple memory allocations before returning on this
error path.

Fixes: a1dc58140f7e ("ubifs: authentication: Authenticate LPT")
Signed-off-by: Dan Carpenter <***@oracle.com>
---
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.11.0
Sascha Hauer
2018-12-04 08:02:56 UTC
Permalink
Hi Dan,
Post by Dan Carpenter
We need to free a couple memory allocations before returning on this
error path.
Indeed, good catch.

Reviewed-by: Sascha Hauer <***@pengutronix.de>

Sascha
Post by Dan Carpenter
Fixes: a1dc58140f7e ("ubifs: authentication: Authenticate LPT")
---
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.11.0
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Loading...