1 commit 43576568ed4af4bd43409b7ff36939340141dfd6
2 Author: erouault <erouault>
3 Date: Sat Dec 3 11:15:18 2016 +0000
5 * libtiff/tif_ojpeg.c: make OJPEGDecode() early exit in case of failure in
6 OJPEGPreDecode(). This will avoid a divide by zero, and potential other issues.
7 Reported by Agostino Sarubbo.
8 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2611
10 diff --git a/ChangeLog b/ChangeLog
11 index 9dbc7a0..5b23665 100644
15 2016-12-03 Even Rouault <even.rouault at spatialys.com>
17 + * libtiff/tif_ojpeg.c: make OJPEGDecode() early exit in case of failure in
18 + OJPEGPreDecode(). This will avoid a divide by zero, and potential other issues.
19 + Reported by Agostino Sarubbo.
20 + Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2611
22 +2016-12-03 Even Rouault <even.rouault at spatialys.com>
24 * libtiff/tif_dirread.c: modify ChopUpSingleUncompressedStrip() to
25 instanciate compute ntrips as TIFFhowmany_32(td->td_imagelength, rowsperstrip),
26 instead of a logic based on the total size of data. Which is faulty is
27 diff --git a/libtiff/tif_ojpeg.c b/libtiff/tif_ojpeg.c
28 index 30a1812..93839d8 100644
29 --- a/libtiff/tif_ojpeg.c
30 +++ b/libtiff/tif_ojpeg.c
32 -/* $Id: tif_ojpeg.c,v 1.65 2016-09-04 21:32:56 erouault Exp $ */
33 +/* $Id: tif_ojpeg.c,v 1.66 2016-12-03 11:15:18 erouault Exp $ */
35 /* WARNING: The type of JPEG encapsulation defined by the TIFF Version 6.0
36 specification is now totally obsolete and deprecated for new applications and
37 @@ -244,6 +244,7 @@ typedef enum {
42 #ifndef LIBJPEG_ENCAP_EXTERNAL
45 @@ -722,6 +723,7 @@ OJPEGPreDecode(TIFF* tif, uint16 s)
47 sp->write_curstrile++;
53 @@ -784,8 +786,14 @@ OJPEGPreDecodeSkipScanlines(TIFF* tif)
55 OJPEGDecode(TIFF* tif, uint8* buf, tmsize_t cc, uint16 s)
57 + static const char module[]="OJPEGDecode";
58 OJPEGState* sp=(OJPEGState*)tif->tif_data;
60 + if( !sp->decoder_ok )
62 + TIFFErrorExt(tif->tif_clientdata,module,"Cannot decode: decoder not correctly initialized");
65 if (sp->libjpeg_jpeg_query_style==0)
67 if (OJPEGDecodeRaw(tif,buf,cc)==0)