diff options
author | Robin Watts <robin.watts@artifex.com> | 2017-07-26 10:35:51 +0100 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2017-07-27 12:32:56 +0100 |
commit | 5ef0934e92fc57aed9fb05466dd3f1c47f09c93a (patch) | |
tree | 6d8c9170ce16d93428fdb5e82cf8d179e3ab6f14 | |
parent | abf0e1933fc8ef803c1c5c96601b841c38a1d77f (diff) | |
download | mupdf-5ef0934e92fc57aed9fb05466dd3f1c47f09c93a.tar.xz |
Fix upper bounds checks on lerp image painting.
-rw-r--r-- | source/fitz/draw-affine.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/source/fitz/draw-affine.c b/source/fitz/draw-affine.c index ca44be7e..b67e3e0d 100644 --- a/source/fitz/draw-affine.c +++ b/source/fitz/draw-affine.c @@ -37,7 +37,7 @@ template_affine_alpha_N_lerp(byte * restrict dp, int da, const byte * restrict s do { - if (u + 32768 >= 0 && u < sw && v + 32768 >= 0 && v < sh) + if (u + 32768 >= 0 && u + 65536 < sw && v + 32768 >= 0 && v + 65536 < sh) { int ui = u >> 16; int vi = v >> 16; @@ -77,7 +77,7 @@ template_affine_alpha_g2rgb_lerp(byte * restrict dp, int da, const byte * restri { do { - if (u + 32768 >= 0 && u < sw && v + 32768 >= 0 && v < sh) + if (u + 32768 >= 0 && u + 65536 < sw && v + 32768 >= 0 && v + 65536 < sh) { int ui = u >> 16; int vi = v >> 16; @@ -324,7 +324,7 @@ template_affine_N_lerp(byte * restrict dp, int da, const byte * restrict sp, int do { - if (u + 32768 >= 0 && u < sw && v + 32768 >= 0 && v < sh) + if (u + 32768 >= 0 && u + 65536 < sw && v + 32768 >= 0 && v + 65536 < sh) { int ui = u >> 16; int vi = v >> 16; @@ -363,7 +363,7 @@ template_affine_solid_g2rgb_lerp(byte * restrict dp, int da, const byte * restri { do { - if (u + 32768 >= 0 && u < sw && v + 32768 >= 0 && v < sh) + if (u + 32768 >= 0 && u + 65536 < sw && v + 32768 >= 0 && v + 65536 < sh) { int ui = u >> 16; int vi = v >> 16; @@ -723,7 +723,7 @@ template_affine_color_N_lerp(byte * restrict dp, int da, const byte * restrict s do { - if (u + 32768 >= 0 && u < sw && v + 32768 >= 0 && v < sh) + if (u + 32768 >= 0 && u + 65536 < sw && v + 32768 >= 0 && v + 65536 < sh) { int ui = u >> 16; int vi = v >> 16; |