Commit 51ea3f6a4571e9283e2ff79b74bcedfc2986dbe2

Authored by Joakim Tjernlund
Committed by Linus Torvalds
1 parent e69eae6552

inflate_fast: sout is already a short so ptr arith was off by one.

inflate_fast() can do either POST INC or PRE INC on its pointers walking
the memory to decompress.  Default is PRE INC.

The sout pointer offset was miscalculated in one case as the calculation
assumed sout was a char * This breaks inflate_fast() iff configured to do
POST INC.

Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

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

lib/zlib_inflate/inffast.c
... ... @@ -286,7 +286,7 @@
286 286 } else { /* dist == 1 or dist == 2 */
287 287 unsigned short pat16;
288 288  
289   - pat16 = *(sout-2+2*OFF);
  289 + pat16 = *(sout-1+OFF);
290 290 if (dist == 1) {
291 291 union uu mm;
292 292 /* copy one char pattern to both bytes */