ubifs: Fix memory leak in read_znode() error path
In read_znode(), the indexing node 'idx' is allocated by kmalloc().
However, it is not deallocated in the following execution if
ubifs_node_check_hash() fails, leading to a memory leak bug. To fix this
issue, free 'idx' before returning the error.
Fixes: 16a26b20d2
("ubifs: authentication: Add hashes to index nodes")
Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu>
Signed-off-by: Richard Weinberger <richard@nod.at>
This commit is contained in:
parent
8615b94f02
commit
ce4d8b16e6
|
@ -284,6 +284,7 @@ static int read_znode(struct ubifs_info *c, struct ubifs_zbranch *zzbr,
|
||||||
err = ubifs_node_check_hash(c, idx, zzbr->hash);
|
err = ubifs_node_check_hash(c, idx, zzbr->hash);
|
||||||
if (err) {
|
if (err) {
|
||||||
ubifs_bad_hash(c, idx, zzbr->hash, lnum, offs);
|
ubifs_bad_hash(c, idx, zzbr->hash, lnum, offs);
|
||||||
|
kfree(idx);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue