[U-Boot] [PATCH] zlib: handle overflow while calculating available stream input size

Mike Frysinger vapier at gentoo.org
Sat Oct 15 19:10:23 CEST 2011


On Saturday 15 October 2011 12:32:52 Anatolij Gustschin wrote:
> If compressed data is located in sectors at the end of the flash and
> it's offset + input stream size > 0xFFFFFFFF, the uncompressing time
> is very long, since processing of the stream is done bytewise (and
> not blockwise) due to overflow in inflate_fast() while calculation
> and checking for enough input available.
> 
> Check for this overflow condition and limit the available stream
> input size to the actually max. possible input size. This fixes
> the problem.
> 
> The issue is easily reproduceable by placing a gziped bitmap in flash,
> e.g. at FFF80000, and running 'bmp' commands like 'bmp info FFF80000'
> or 'bmp display FFF80000'. The uncompressing can take up to 3 sec.
> whereas it should normaly take a fraction of a second. If the
> 'splashimage' environment variable points to this address, the
> booting time also increases significantly.

can we send this to the upstream zlib project if it isn't there already and 
get feedback from them ?
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20111015/99734d06/attachment.pgp 


More information about the U-Boot mailing list