Dear Quentin Armitage,

In message <1262480450.2820.140.ca...@samson.armitage.org.uk> you wrote:
> There appears to be a path through mmc_read in drivers/mmc/mmc.c where
> malloc'd memory is not freed before exiting mmc_read, although this may
> be a hypothetical situation. It occurs if mmc_set_blocklen() returns a
> non-zero value.
> 
> The following patch appears to resolve the issue:
> 
> --- o/drivers/mmc/mmc.c       2010-01-03 00:44:41.000000000 +0000
> +++ drivers/mmc/mmc.c 2010-01-03 00:46:14.000000000 +0000
> @@ -172,7 +172,7 @@ int mmc_read(struct mmc *mmc, u64 src, u
>       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;

As you did not follow up on my request to repostwith you SoB-line
added I went ahead and added the fix myself.  Thanks for reporting it.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
No question is too silly to ask. Of course, some  questions  are  too
silly to to answer...  - L. Wall & R. L. Schwartz, _Programming Perl_
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to