--- a/libtiff/tif_getimage.c 2016-09-22 14:12:27.736377724 -0700 +++ b/libtiff/tif_getimage.c 2016-09-22 14:36:19.730567366 -0700 @@ -1822,10 +1822,10 @@ (void) y; /* adjust fromskew */ fromskew = (fromskew * 18) / 4; - if ((h & 3) == 0 && (w & 3) == 0) { + if ((w & 3) == 0 && (h & 1) == 0) { for (; h >= 4; h -= 4) { x = w>>2; - do { + while(x>0) { int32 Cb = pp[16]; int32 Cr = pp[17]; @@ -1848,7 +1848,8 @@ cp2 += 4; cp3 += 4; pp += 18; - } while (--x); + x--; + } cp += incr; cp1 += incr; cp2 += incr; @@ -2094,7 +2095,7 @@ { (void) y; fromskew = (fromskew * 4) / 2; - do { + while(x>0) { x = w>>1; while(x>0) { int32 Cb = pp[2]; @@ -2121,7 +2122,8 @@ cp += toskew; pp += fromskew; - } while (--h); + x --; + } } /*