
On Tue, Dec 02, 2014 at 01:17:29PM -0700, Simon Glass wrote:
Commit 4d3b8a0d fixed a problem with lzma decompress where it would run out of bytes to decompress. The algorithm needs to know how many uncompressed bytes it is expected to produce.
However, the fix introduced a potential buffer overrun, and causes the compression test to fail (test_compression command in sandbox).
The correct fix seems to be to use the minimum of the expected number of uncompressed bytes and the amount of output space available. That way things work normally when there is enough space, and return an error (without overrunning available space) when there is not.
Signed-off-by: Antonios Vamporakis ant@area128.com CC: Kees Cook keescook@chromium.org CC: Simon Glass sjg@chromium.org CC: Daniel Schwierzeck daniel.schwierzeck@gmail.com CC: Luka Perkov luka@openwrt.org
Signed-off-by: Simon Glass sjg@chromium.org
Applied to u-boot/master, thanks!