From: Wolfgang Denk Date: Thu, 11 Mar 2010 22:35:43 +0000 (+0100) Subject: Fix memory leak in mmc_read() X-Git-Tag: v2010.03-rc1~14 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=8c4444ff5e1d8e9fd1a847a2fb096aa9aff66f85;p=oweals%2Fu-boot.git Fix memory leak in mmc_read() There is be a path through mmc_read in drivers/mmc/mmc.c where malloc'd memory is not freed before exiting mmc_read: it occurs if mmc_set_blocklen() returns a non-zero value. Reported-by: Quentin Armitage Signed-off-by: Wolfgang Denk --- diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index 367922579c..cf4ea161b9 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -179,7 +179,7 @@ int mmc_read(struct mmc *mmc, u64 src, uchar *dst, int size) err = mmc_set_blocklen(mmc, mmc->read_bl_len); if (err) - return err; + goto free_buffer; for (i = startblock; i <= endblock; i++) { int segment_size;