summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorerouault <erouault>2017-07-24 09:52:23 +0000
committererouault <erouault>2017-07-24 09:52:23 +0000
commit594737f09fef0cfdee0db48017e97a3117e29bab (patch)
tree4c44fc281ebe6a40a3cace4b71589befd07811d3
parent13e02541f408b2e7fad7427d3645958d8eff92cc (diff)
downloadlibtiff-594737f09fef0cfdee0db48017e97a3117e29bab.tar.gz
* libtiff/tif_getimage.c: gtTileContig() and gtTileSeparate():
properly break from loops on error when stoponerr is set, instead of going on iterating on row based loop.
-rw-r--r--ChangeLog6
-rw-r--r--libtiff/tif_getimage.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index aa55fb43..d0a36265 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-07-24 Even Rouault <even.rouault at spatialys.com>
+
+ * libtiff/tif_getimage.c: gtTileContig() and gtTileSeparate():
+ properly break from loops on error when stoponerr is set, instead
+ of going on iterating on row based loop.
+
2017-07-18 Even Rouault <even.rouault at spatialys.com>
* libtiff/tif_luv.c: LogLuvInitState(): avoid excessive memory
diff --git a/libtiff/tif_getimage.c b/libtiff/tif_getimage.c
index c6041f67..b588bf71 100644
--- a/libtiff/tif_getimage.c
+++ b/libtiff/tif_getimage.c
@@ -1,4 +1,4 @@
-/* $Id: tif_getimage.c,v 1.110 2017-07-04 13:28:42 erouault Exp $ */
+/* $Id: tif_getimage.c,v 1.111 2017-07-24 09:52:23 erouault Exp $ */
/*
* Copyright (c) 1991-1997 Sam Leffler
@@ -661,7 +661,7 @@ gtTileContig(TIFFRGBAImage* img, uint32* raster, uint32 w, uint32 h)
leftmost_fromskew = img->col_offset % tw;
leftmost_tw = tw - leftmost_fromskew;
leftmost_toskew = toskew + leftmost_fromskew;
- for (row = 0; row < h; row += nrow)
+ for (row = 0; ret != 0 && row < h; row += nrow)
{
rowstoread = th - (row + img->row_offset) % th;
nrow = (row + rowstoread > h ? h - row : rowstoread);
@@ -795,7 +795,7 @@ gtTileSeparate(TIFFRGBAImage* img, uint32* raster, uint32 w, uint32 h)
leftmost_fromskew = img->col_offset % tw;
leftmost_tw = tw - leftmost_fromskew;
leftmost_toskew = toskew + leftmost_fromskew;
- for (row = 0; row < h; row += nrow)
+ for (row = 0; ret != 0 && row < h; row += nrow)
{
rowstoread = th - (row + img->row_offset) % th;
nrow = (row + rowstoread > h ? h - row : rowstoread);