mtd: nand: sunxi: prevent a small memory leak
Subsystems (4)
PATCH 1/1 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 Dan Carpenter <[email protected]>
drivers/mtd/nand/sunxi_nand.c +3 -3
@@ -1812,13 +1812,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 ;
Boris Brezillon
AppliedQuoted 5 lines · On Fri, 24 Jun 2016 15:24:03 +0300 Dan Carpenter <[email protected]>…
I moved the sanity check on
ecc->sizebefore the allocation so that we don't leak memory on error.Fixes 05af074a4b73 ('mtd: nand: sunxi: check ecc->size values')Signed-off-by Dan Carpenter <[email protected]>
Applied.
Thanks,
Boris
Quoted 22 lines
drivers/mtd/nand/sunxi_nand.c +3
-3@@ -1812,13 +1812,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 ;