Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 40297e7f authored by Dan Carpenter's avatar Dan Carpenter Committed by Boris Brezillon
Browse files

mtd: nand: sunxi: prevent a small memory leak



I moved the sanity check on ecc->size before the allocation so that we
don't leak memory on error.

Fixes: 05af074a4b73 ('mtd: nand: sunxi: check ecc->size values')
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
parent ab9d6a78
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1814,13 +1814,13 @@ static int sunxi_nand_hw_common_ecc_ctrl_init(struct mtd_info *mtd,
	int ret;
	int i;

	if (ecc->size != 512 && ecc->size != 1024)
		return -EINVAL;

	data = kzalloc(sizeof(*data), GFP_KERNEL);
	if (!data)
		return -ENOMEM;

	if (ecc->size != 512 && ecc->size != 1024)
		return -EINVAL;

	/* Prefer 1k ECC chunk over 512 ones */
	if (ecc->size == 512 && mtd->writesize > 512) {
		ecc->size = 1024;