diff options
author | Philippe De Swert <philippedeswert@gmail.com> | 2012-04-11 22:31:45 +0200 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2012-05-10 02:47:37 +0200 |
commit | 1c02f000e78347aa51822feb189fcb0d90273958 (patch) | |
tree | 43ed41f00fd81354ced9e0bab29b19a78ec6e157 /drivers/mmc/card | |
parent | mmc: core: Prevent eMMC VCC supply to be cut from late init (diff) | |
download | linux-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.c | 3 |
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; |