summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/card
diff options
context:
space:
mode:
authorPhilippe De Swert <philippedeswert@gmail.com>2012-04-11 22:31:45 +0200
committerChris Ball <cjb@laptop.org>2012-05-10 02:47:37 +0200
commit1c02f000e78347aa51822feb189fcb0d90273958 (patch)
tree43ed41f00fd81354ced9e0bab29b19a78ec6e157 /drivers/mmc/card
parentmmc: core: Prevent eMMC VCC supply to be cut from late init (diff)
downloadlinux-1c02f000e78347aa51822feb189fcb0d90273958.tar.xz
linux-1c02f000e78347aa51822feb189fcb0d90273958.zip
mmc: card: Avoid null pointer dereference
After the null check on md the code jumped to cmd_done, which then will dereference md in mmc_blk_put. This patch avoids the possible null pointer dereference in that case. Signed-off-by: Philippe De Swert <philippedeswert@gmail.com> Reviewed-by: Namjae Jeon <linkinjeon@gmail.com> Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc/card')
-rw-r--r--drivers/mmc/card/block.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index dabec556ebb8..91cda7551a60 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -384,7 +384,7 @@ static int mmc_blk_ioctl_cmd(struct block_device *bdev,
md = mmc_blk_get(bdev->bd_disk);
if (!md) {
err = -EINVAL;
- goto cmd_done;
+ goto cmd_err;
}
card = md->queue.card;
@@ -483,6 +483,7 @@ cmd_rel_host:
cmd_done:
mmc_blk_put(md);
+cmd_err:
kfree(idata->buf);
kfree(idata);
return err;