diff options
author | Florin Malita <fmalita@gmail.com> | 2007-10-13 12:27:20 -0400 |
---|---|---|
committer | Pierre Ossman <drzeus@drzeus.cx> | 2007-10-17 21:33:46 +0200 |
commit | 00cedfa67b3ab1588e2665eabd9843a3d8dd1dfc (patch) | |
tree | 21a747cf4a9f022212e98c346062ac098476a836 /drivers/mmc/core | |
parent | e6d5a11dad44b8ae18ca8fc4ecb72ccccfa0a2d2 (diff) | |
download | op-kernel-dev-00cedfa67b3ab1588e2665eabd9843a3d8dd1dfc.zip op-kernel-dev-00cedfa67b3ab1588e2665eabd9843a3d8dd1dfc.tar.gz |
mmc: possible leak in mmc_read_ext_csd
The exception path associated with an invalid ext_csd_struct returns
without freeing ext_csd.
Coverity CID 1909.
Signed-off-by: Florin Malita
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc/core')
-rw-r--r-- | drivers/mmc/core/mmc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index 65fe288..68c0e3b 100644 --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c @@ -213,7 +213,8 @@ static int mmc_read_ext_csd(struct mmc_card *card) printk(KERN_ERR "%s: unrecognised EXT_CSD structure " "version %d\n", mmc_hostname(card->host), ext_csd_struct); - return -EINVAL; + err = -EINVAL; + goto out; } if (ext_csd_struct >= 2) { |