ubifs: fix memory leak on error condition
Subsystems (2)
PATCH v2 1/1 ubifs: fix memory leak on error condition
If the call to ubifs_read_nnode() fails in ubifs_lpt_calc_hash() an error is returned without freeing the memory allocated to 'buf'. Read and check the root node before allocating the buffer.
Detected by CoverityScan, CID 1441025 ("Resource leak")
Signed-off-by Garry McNulty <[email protected]>
--- fs/ubifs/lpt.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
fs/ubifs/lpt.c +6 -6
@@ -1675,6 +1675,12 @@ int ubifs_lpt_calc_hash(struct ubifs_info *c, u8 *hash)if (!ubifs_authenticated (c))return 0 ; +if (!c->nroot) { + err =ubifs_read_nnode (c,NULL ,0 ); +if (err) +return err; + } + desc =ubifs_hash_get_desc (c);if (IS_ERR (desc))return PTR_ERR (desc);
@@ -1685,12 +1691,6 @@ int ubifs_lpt_calc_hash(struct ubifs_info *c, u8 *hash) goto out; } -if (!c->nroot) { - err =ubifs_read_nnode (c,NULL ,0 ); -if (err) -return err; - } - cnode = (struct ubifs_cnode *)c->nroot;while (cnode) {
Signature · 1 line
2.14.5