diff options
-rw-r--r-- | filter/qa/cppunit/data/tiff/fail/crash-2.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-2.tiff b/filter/qa/cppunit/data/tiff/fail/crash-2.tiff Binary files differnew file mode 100644 index 000000000000..aadd99f33d2d --- /dev/null +++ b/filter/qa/cppunit/data/tiff/fail/crash-2.tiff diff --git a/filter/source/graphicfilter/itiff/itiff.cxx b/filter/source/graphicfilter/itiff/itiff.cxx index bd0cf6e87e41..0913fd1dd9e9 100644 --- a/filter/source/graphicfilter/itiff/itiff.cxx +++ b/filter/source/graphicfilter/itiff/itiff.cxx @@ -608,6 +608,8 @@ bool TIFFReader::ReadMap() pTIFF->Seek( pStripOffsets[ nStrip ] ); aCCIDecom.StartDecompression( *pTIFF ); } + if (np >= SAL_N_ELEMENTS(pMap)) + return false; if ( !aCCIDecom.DecompressScanline( pMap[ np ], nImageWidth * nBitsPerSample * nSamplesPerPixel / nPlanes, np + 1 == nPlanes ) ) return false; if ( pTIFF->GetError() ) |