Skip to content

Commit

Permalink
inflate_fast: sout is already a short so ptr arith was off by one.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
joakim-tjernlund authored and torvalds committed Mar 12, 2010
1 parent e69eae6 commit 51ea3f6
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion lib/zlib_inflate/inffast.c
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ void inflate_fast(z_streamp strm, unsigned start)
} else { /* dist == 1 or dist == 2 */
unsigned short pat16;

pat16 = *(sout-2+2*OFF);
pat16 = *(sout-1+OFF);
if (dist == 1) {
union uu mm;
/* copy one char pattern to both bytes */
Expand Down

0 comments on commit 51ea3f6

Please sign in to comment.