浏览代码

driver/mtd:IFC: Fix possible memory leak

if priv->bank >= MAX_BANK, priv should be freed before returning ENODEV.

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Signed-off-by: Scott Wood <scott@tyr.buserror.net>
Prabhakar Kushwaha 13 年之前
父节点
当前提交
76d067ac33
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      drivers/mtd/nand/fsl_ifc_nand.c

+ 1 - 0
drivers/mtd/nand/fsl_ifc_nand.c

@@ -775,6 +775,7 @@ int board_nand_init(struct nand_chip *nand)
 	if (priv->bank >= MAX_BANKS) {
 	if (priv->bank >= MAX_BANKS) {
 		printf("%s: address did not match any "
 		printf("%s: address did not match any "
 		       "chip selects\n", __func__);
 		       "chip selects\n", __func__);
+		kfree(priv);
 		return -ENODEV;
 		return -ENODEV;
 	}
 	}