summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--filter/qa/cppunit/data/tiff/fail/crash-4.tiffbin0 -> 260 bytes
-rw-r--r--filter/source/graphicfilter/itiff/ccidecom.cxx9
2 files changed, 2 insertions, 7 deletions
diff --git a/filter/qa/cppunit/data/tiff/fail/crash-4.tiff b/filter/qa/cppunit/data/tiff/fail/crash-4.tiff
new file mode 100644
index 000000000000..ef0fe2725f17
--- /dev/null
+++ b/filter/qa/cppunit/data/tiff/fail/crash-4.tiff
Binary files differ
diff --git a/filter/source/graphicfilter/itiff/ccidecom.cxx b/filter/source/graphicfilter/itiff/ccidecom.cxx
index 892f2477eae6..2f767777e821 100644
--- a/filter/source/graphicfilter/itiff/ccidecom.cxx
+++ b/filter/source/graphicfilter/itiff/ccidecom.cxx
@@ -628,8 +628,6 @@ void CCIDecompressor::StartDecompression( SvStream & rIStream )
bool CCIDecompressor::DecompressScanline( sal_uInt8 * pTarget, sal_uLong nTargetBits, bool bLastLine )
{
- sal_uInt16 i;
- sal_uInt8 * pDst;
bool b2D;
if ( nEOLCount >= 5 ) // RTC (Return To Controller)
@@ -678,8 +676,7 @@ bool CCIDecompressor::DecompressScanline( sal_uInt8 * pTarget, sal_uLong nTarget
delete[] pLastLine;
nLastLineSize = ( nTargetBits + 7 ) >> 3;
pLastLine = new sal_uInt8[ nLastLineSize ];
- pDst = pLastLine;
- for ( i = 0; i < nLastLineSize; i++ ) *( pDst++ ) = 0x00;
+ memset(pLastLine, 0, nLastLineSize);
}
}
// conditionally align start of line to next byte:
@@ -706,9 +703,7 @@ bool CCIDecompressor::DecompressScanline( sal_uInt8 * pTarget, sal_uLong nTarget
// if we're in 2D mode we have to remember the line:
if ( nOptions & CCI_OPTION_2D && bStatus )
{
- sal_uInt8 *pSrc = pTarget;
- pDst = pLastLine;
- for ( i = 0; i < nLastLineSize; i++ ) *(pDst++)=*(pSrc++);
+ memcpy(pLastLine, pTarget, nLastLineSize);
}
// #i122984#