diff options
author | Sebastian Rasmussen <sebras@hotmail.com> | 2009-05-10 12:08:15 +0200 |
---|---|---|
committer | Sebastian Rasmussen <sebras@hotmail.com> | 2009-05-10 12:08:15 +0200 |
commit | aa646dd01c726c24d1a9c73cc556ffd03588021d (patch) | |
tree | a8c0efe2a01d186b0ab12c086373b1c215566575 /fitzdraw | |
parent | 0d2d4dc88d132404f87afb9df84cc4d308a77ce3 (diff) | |
download | mupdf-aa646dd01c726c24d1a9c73cc556ffd03588021d.tar.xz |
Fix bug where image scaling accessed data outside of buffer.
Diffstat (limited to 'fitzdraw')
-rw-r--r-- | fitzdraw/imagescale.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/fitzdraw/imagescale.c b/fitzdraw/imagescale.c index 5d9af3ac..79d31c06 100644 --- a/fitzdraw/imagescale.c +++ b/fitzdraw/imagescale.c @@ -241,7 +241,7 @@ fz_scalepixmaptile(fz_pixmap *dst, int xoffs, int yoffs, fz_pixmap *src, int xde srowx(src->samples + (y + iy) * src->w * n, buf + iy * ow * n, src->w, xdenom); - scolx(buf, dstsamples + oy * dst->w * n, ow, ydenom); + scolx(buf, dstsamples + oy * dst->w * n, ow, remaining); } } @@ -263,7 +263,8 @@ fz_scalepixmaptile(fz_pixmap *dst, int xoffs, int yoffs, fz_pixmap *src, int xde fz_srown(src->samples + (y + iy) * src->w * n, buf + iy * ow * n, src->w, xdenom, n); - fz_scoln(buf, dstsamples + oy * dst->w * n, ow, ydenom, n); + + fz_scoln(buf, dstsamples + oy * dst->w * n, ow, remaining, n); } } @@ -325,7 +326,7 @@ fz_scalepixmap(fz_pixmap **dstp, fz_pixmap *src, int xdenom, int ydenom) srowx(src->samples + (y + iy) * src->w * n, buf + iy * ow * n, src->w, xdenom); - scolx(buf, dst->samples + oy * dst->w * n, dst->w, ydenom); + scolx(buf, dst->samples + oy * dst->w * n, dst->w, remaining); } } @@ -347,7 +348,7 @@ fz_scalepixmap(fz_pixmap **dstp, fz_pixmap *src, int xdenom, int ydenom) fz_srown(src->samples + (y + iy) * src->w * n, buf + iy * ow * n, src->w, xdenom, n); - fz_scoln(buf, dst->samples + oy * dst->w * n, dst->w, ydenom, n); + fz_scoln(buf, dst->samples + oy * dst->w * n, dst->w, remaining, n); } } |