Commit d83aef09 authored by Wenwen Wang's avatar Wenwen Wang Committed by Miquel Raynal
Browse files

mtd: onenand_base: Fix a memory leak bug



In onenand_scan(), if CONFIG_MTD_ONENAND_VERIFY_WRITE is defined,
'this->verify_buf' is allocated through kzalloc(). However, it is not
deallocated in the following execution, if the allocation for
'this->oob_buf' fails, leading to a memory leak bug. To fix this issue,
free 'this->verify_buf' before returning the error.

Signed-off-by: default avatarWenwen Wang <wenwen@cs.uga.edu>
Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
parent 80107e76
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -3879,6 +3879,9 @@ int onenand_scan(struct mtd_info *mtd, int maxchips)
		if (!this->oob_buf) {
			if (this->options & ONENAND_PAGEBUF_ALLOC) {
				this->options &= ~ONENAND_PAGEBUF_ALLOC;
#ifdef CONFIG_MTD_ONENAND_VERIFY_WRITE
				kfree(this->verify_buf);
#endif
				kfree(this->page_buf);
			}
			return -ENOMEM;