summaryrefslogtreecommitdiffstats
path: root/drivers/nand/nand.c
diff options
context:
space:
mode:
authorRobert P. J. Day <rpjday@crashcourse.ca>2009-12-21 04:43:50 -0500
committerSascha Hauer <s.hauer@pengutronix.de>2009-12-21 11:43:47 +0100
commit9edcbdc9f3f90b4b175cc81a0f5d172db7b11fcc (patch)
tree827b79fef91d6848ef3c78e50f10a7fd2d6480f9 /drivers/nand/nand.c
parenta5bd96de7ddf4071acfe3d310cdb7b121ab8cb2b (diff)
downloadbarebox-9edcbdc9f3f90b4b175cc81a0f5d172db7b11fcc.tar.gz
barebox-9edcbdc9f3f90b4b175cc81a0f5d172db7b11fcc.tar.xz
NAND: Free asprintf()-allocated space upon mtd device deletion.
Given that add_mtd_device() invokes asprintf() thusly: mtd->cdev.name = asprintf("nand%d", mtd->class_dev.id); ... mtd->param_size.value = asprintf("%u", mtd->size); ... mtd->cdev_oob.name = asprintf("nand_oob%d", mtd->class_dev.id); make sure del_mtd_device() frees that in the reverse order. Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/nand/nand.c')
-rw-r--r--drivers/nand/nand.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/nand/nand.c b/drivers/nand/nand.c
index 0a6128caa5..bcf52bd940 100644
--- a/drivers/nand/nand.c
+++ b/drivers/nand/nand.c
@@ -240,7 +240,9 @@ int add_mtd_device(struct mtd_info *mtd)
int del_mtd_device (struct mtd_info *mtd)
{
unregister_device(&mtd->class_dev);
+ free(mtd->cdev_oob.name);
free(mtd->param_size.value);
+ free(mtd->cdev.name);
return 0;
}