* tools/tiff2pdf.c: prevent heap buffer overflow write in "Raw"

mode on PlanarConfig=Contig input images.
Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2715
Reported by team OWL337
This commit is contained in:
Even Rouault 2017-07-15 11:13:46 +00:00
parent 2ac7bddb78
commit 979751c407
2 changed files with 14 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2017-07-15 Even Rouault <even.rouault at spatialys.com>
* tools/tiff2pdf.c: prevent heap buffer overflow write in "Raw"
mode on PlanarConfig=Contig input images.
Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2715
Reported by team OWL337
2017-07-11 Even Rouault <even.rouault at spatialys.com> 2017-07-11 Even Rouault <even.rouault at spatialys.com>
* libtiff/tif_dir.c: avoid potential null pointer dereference in * libtiff/tif_dir.c: avoid potential null pointer dereference in

View File

@ -1,4 +1,4 @@
/* $Id: tiff2pdf.c,v 1.101 2016-12-20 17:28:17 erouault Exp $ /* $Id: tiff2pdf.c,v 1.102 2017-07-15 11:13:46 erouault Exp $
* *
* tiff2pdf - converts a TIFF image to a PDF document * tiff2pdf - converts a TIFF image to a PDF document
* *
@ -1737,7 +1737,12 @@ void t2p_read_tiff_data(T2P* t2p, TIFF* input){
return; return;
t2p->pdf_transcode = T2P_TRANSCODE_ENCODE; t2p->pdf_transcode = T2P_TRANSCODE_ENCODE;
if(t2p->pdf_nopassthrough==0){ /* It seems that T2P_TRANSCODE_RAW mode doesn't support separate->contig */
/* conversion. At least t2p_read_tiff_size and t2p_read_tiff_size_tile */
/* do not take into account the number of samples, and thus */
/* that can cause heap buffer overflows such as in */
/* http://bugzilla.maptools.org/show_bug.cgi?id=2715 */
if(t2p->pdf_nopassthrough==0 && t2p->tiff_planar!=PLANARCONFIG_SEPARATE){
#ifdef CCITT_SUPPORT #ifdef CCITT_SUPPORT
if(t2p->tiff_compression==COMPRESSION_CCITTFAX4 if(t2p->tiff_compression==COMPRESSION_CCITTFAX4
){ ){