diff options
author | Ingo van Lil <inguin@gmx.de> | 2008-03-24 15:29:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-24 22:22:19 -0400 |
commit | 2875fb65f8e40401c4b781ebc5002df10485f635 (patch) | |
tree | fe111c02b7aa2c943e7f824aadd6e7fa06da3d0f /drivers | |
parent | 1312848e92a0686cb5124aa86ea58d55ba795742 (diff) |
mtd: memory corruption in block2mtd.c
The block2mtd driver (drivers/mtd/devices/block2mtd.c) will kfree an on-stack
pointer when handling an invalid argument line (e.g.
block2mtd=/dev/loop0,xxx).
The kfree was added some time ago when "name" was dynamically allocated.
Signed-off-by: Ingo van Lil <inguin@gmx.de>
Acked-by: Joern Engel <joern@lazybastard.org>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: <stable@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mtd/devices/block2mtd.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/mtd/devices/block2mtd.c b/drivers/mtd/devices/block2mtd.c index eeaaa9dce6ef..ad1880c67518 100644 --- a/drivers/mtd/devices/block2mtd.c +++ b/drivers/mtd/devices/block2mtd.c | |||
@@ -408,7 +408,6 @@ static int block2mtd_setup2(const char *val) | |||
408 | if (token[1]) { | 408 | if (token[1]) { |
409 | ret = parse_num(&erase_size, token[1]); | 409 | ret = parse_num(&erase_size, token[1]); |
410 | if (ret) { | 410 | if (ret) { |
411 | kfree(name); | ||
412 | parse_err("illegal erase size"); | 411 | parse_err("illegal erase size"); |
413 | } | 412 | } |
414 | } | 413 | } |