|
|
- From 47f2fb61a3a64667bce1a8398a8fcb1b348ff122 Mon Sep 17 00:00:00 2001
- From: erouault <erouault>
- Date: Wed, 11 Jan 2017 12:15:01 +0000
- Subject: [PATCH] * libtiff/tif_jpeg.c: avoid integer division by zero in
- JPEGSetupEncode() when horizontal or vertical sampling is set to 0. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2653
-
- ---
- ChangeLog | 6 ++++++
- libtiff/tif_jpeg.c | 7 +++++++
- 2 files changed, 13 insertions(+)
-
- diff --git a/ChangeLog b/ChangeLog
- index c82bc76..a7208f5 100644
- --- a/ChangeLog
- +++ b/ChangeLog
- @@ -1,5 +1,11 @@
- 2017-01-11 Even Rouault <even.rouault at spatialys.com>
-
- + * libtiff/tif_jpeg.c: avoid integer division by zero in
- + JPEGSetupEncode() when horizontal or vertical sampling is set to 0.
- + Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2653
- +
- +2017-01-11 Even Rouault <even.rouault at spatialys.com>
- +
- * tools/tiffcp.c: error out cleanly in cpContig2SeparateByRow and
- cpSeparate2ContigByRow if BitsPerSample != 8 to avoid heap based overflow.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2656 and
- diff --git a/libtiff/tif_jpeg.c b/libtiff/tif_jpeg.c
- index 38595f9..6c17c38 100644
- --- a/libtiff/tif_jpeg.c
- +++ b/libtiff/tif_jpeg.c
- @@ -1626,6 +1626,13 @@ JPEGSetupEncode(TIFF* tif)
- case PHOTOMETRIC_YCBCR:
- sp->h_sampling = td->td_ycbcrsubsampling[0];
- sp->v_sampling = td->td_ycbcrsubsampling[1];
- + if( sp->h_sampling == 0 || sp->v_sampling == 0 )
- + {
- + TIFFErrorExt(tif->tif_clientdata, module,
- + "Invalig horizontal/vertical sampling value");
- + return (0);
- + }
- +
- /*
- * A ReferenceBlackWhite field *must* be present since the
- * default value is inappropriate for YCbCr. Fill in the
|