diff options
author | Robert P. J. Day <rpjday@crashcourse.ca> | 2009-12-21 04:43:50 -0500 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2009-12-21 11:43:47 +0100 |
commit | 9edcbdc9f3f90b4b175cc81a0f5d172db7b11fcc (patch) | |
tree | 827b79fef91d6848ef3c78e50f10a7fd2d6480f9 | |
parent | a5bd96de7ddf4071acfe3d310cdb7b121ab8cb2b (diff) | |
download | barebox-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>
-rw-r--r-- | drivers/nand/nand.c | 2 |
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; } |