summaryrefslogtreecommitdiff
path: root/lib/zlib_inflate/inffast.c
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>2010-03-10 23:23:57 (GMT)
committerLinus Torvalds <torvalds@linux-foundation.org>2010-03-12 23:52:44 (GMT)
commit51ea3f6a4571e9283e2ff79b74bcedfc2986dbe2 (patch)
tree1c898ddc9d39a62deccc54686011a45e1ad8e4a6 /lib/zlib_inflate/inffast.c
parente69eae65523b457a3ac4262a66cfff57f2c924a9 (diff)
downloadlinux-fsl-qoriq-51ea3f6a4571e9283e2ff79b74bcedfc2986dbe2.tar.xz
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>
Diffstat (limited to 'lib/zlib_inflate/inffast.c')
-rw-r--r--lib/zlib_inflate/inffast.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/zlib_inflate/inffast.c b/lib/zlib_inflate/inffast.c
index fa62fc7..2c13ecc 100644
--- a/lib/zlib_inflate/inffast.c
+++ b/lib/zlib_inflate/inffast.c
@@ -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 */