Skip to content
Snippets Groups Projects
Commit 51ea3f6a authored by Joakim Tjernlund's avatar Joakim Tjernlund Committed by Linus Torvalds
Browse files

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: default avatarJoakim Tjernlund <Joakim.Tjernlund@transmode.se>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent e69eae65
No related branches found
No related tags found
No related merge requests found
...@@ -286,7 +286,7 @@ void inflate_fast(z_streamp strm, unsigned start) ...@@ -286,7 +286,7 @@ void inflate_fast(z_streamp strm, unsigned start)
} else { /* dist == 1 or dist == 2 */ } else { /* dist == 1 or dist == 2 */
unsigned short pat16; unsigned short pat16;
pat16 = *(sout-2+2*OFF); pat16 = *(sout-1+OFF);
if (dist == 1) { if (dist == 1) {
union uu mm; union uu mm;
/* copy one char pattern to both bytes */ /* copy one char pattern to both bytes */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment