From 8c4444ff5e1d8e9fd1a847a2fb096aa9aff66f85 Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Thu, 11 Mar 2010 23:35:43 +0100 Subject: [PATCH] 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 --- drivers/mmc/mmc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index 3679225..cf4ea16 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; -- 2.7.4