diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-07-19 21:32:05 +0100 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2015-07-20 06:19:54 +0000 |
commit | ffed84552dcb03daf93e14036313bad285c3d140 (patch) | |
tree | f02ac2b19311718fe0d2953cd50be41cca3f082e /filter | |
parent | eef542a9ff26856a52a80f413173e754c4960e42 (diff) |
check np bounds again
Change-Id: I0fb61954b2eaf0c015d7bdefe9f03bd459b31501
(cherry picked from commit fcdddbd30a8b5cf6a5cc4d2ff28b7d4a20f8ec6b)
Reviewed-on: https://gerrit.libreoffice.org/17202
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'filter')
-rw-r--r-- | filter/qa/cppunit/data/tiff/fail/crash-3.tiff | bin | 0 -> 260 bytes | |||
-rw-r--r-- | filter/source/graphicfilter/itiff/itiff.cxx | 2 |
2 files changed, 2 insertions, 0 deletions
diff --git a/filter/qa/cppunit/data/tiff/fail/crash-3.tiff b/filter/qa/cppunit/data/tiff/fail/crash-3.tiff Binary files differnew file mode 100644 index 000000000000..4aa2393ade25 --- /dev/null +++ b/filter/qa/cppunit/data/tiff/fail/crash-3.tiff diff --git a/filter/source/graphicfilter/itiff/itiff.cxx b/filter/source/graphicfilter/itiff/itiff.cxx index dc556f30b2b5..c35d94356a3d 100644 --- a/filter/source/graphicfilter/itiff/itiff.cxx +++ b/filter/source/graphicfilter/itiff/itiff.cxx @@ -652,6 +652,8 @@ bool TIFFReader::ReadMap( sal_uLong nMinPercent, sal_uLong nMaxPercent ) pTIFF->Seek(pStripOffsets[nStrip]); aLZWDecom.StartDecompression(*pTIFF); } + if (np >= SAL_N_ELEMENTS(pMap)) + return false; if ( ( aLZWDecom.Decompress( pMap[ np ], nBytesPerRow ) != nBytesPerRow ) || pTIFF->GetError() ) return false; MayCallback(nMinPercent+(nMaxPercent-nMinPercent)*(np*nImageLength+ny)/(nImageLength*nPlanes)); |