Commit 31925c8857ba17c11129b766a980ff7c87780301

Authored by Peter Korsgaard
Committed by Linus Torvalds
1 parent 163ecdff06

[PATCH] Fix ppc32 zImage inflate

The recent zlib update (commit 4f3865fb57a04db7cca068fed1c15badc064a302)
broke ppc32 zImage decompression as it tries to decompress to address zero
and the updated zlib_inflate checks that strm->next_out isn't a null
pointer.

This little patch fixes it.

[rpurdie@rpsys.net: add comment]
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Acked-by: Tom Rini <trini@kernel.crashing.org>
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Showing 1 changed file with 4 additions and 1 deletions Side-by-side Diff

lib/zlib_inflate/inflate.c
... ... @@ -347,7 +347,10 @@
347 347 static const unsigned short order[19] = /* permutation of code lengths */
348 348 {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
349 349  
350   - if (strm == NULL || strm->state == NULL || strm->next_out == NULL ||
  350 + /* Do not check for strm->next_out == NULL here as ppc zImage
  351 + inflates to strm->next_out = 0 */
  352 +
  353 + if (strm == NULL || strm->state == NULL ||
351 354 (strm->next_in == NULL && strm->avail_in != 0))
352 355 return Z_STREAM_ERROR;
353 356