From f901624b5e13e300f8e2facd2a824202c21d9729 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 5 Jan 2015 10:56:32 +0000 Subject: asan wrt mandriva57054-1.tiff Change-Id: Ibb7ecfa637ff96fbda3a8ed5d67943ece28927e5 --- filter/source/graphicfilter/itiff/itiff.cxx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'filter/source') diff --git a/filter/source/graphicfilter/itiff/itiff.cxx b/filter/source/graphicfilter/itiff/itiff.cxx index 19ab6c7f3527..1582a11773b7 100644 --- a/filter/source/graphicfilter/itiff/itiff.cxx +++ b/filter/source/graphicfilter/itiff/itiff.cxx @@ -927,23 +927,22 @@ bool TIFFReader::ConvertScanline( sal_uLong nY ) { case 8 : { - sal_uInt8 nLast; if ( bByteSwap ) { if ( nPredictor == 2 ) { - nLast = BYTESWAP( (sal_uInt8)*pt++ ); + sal_uInt8 nLast = 0; for ( nx = 0; nx < nImageWidth; nx++ ) { + nLast += nx == 0 ? BYTESWAP( (sal_uInt8)*pt++ ) : *pt++; pAcc->SetPixelIndex( nY, nx, nLast ); - nLast = nLast + *pt++; } } else { for ( nx = 0; nx < nImageWidth; nx++ ) { - nLast = *pt++; + sal_uInt8 nLast = *pt++; pAcc->SetPixelIndex( nY, nx, static_cast( (BYTESWAP((sal_uLong)nLast) - nMinSampleValue) * nMinMax ) ); } } @@ -952,11 +951,11 @@ bool TIFFReader::ConvertScanline( sal_uLong nY ) { if ( nPredictor == 2 ) { - nLast = *pt++; + sal_uInt8 nLast = 0; for ( nx = 0; nx < nImageWidth; nx++ ) { + nLast += *pt++; pAcc->SetPixelIndex( nY, nx, nLast ); - nLast = nLast + *pt++; } } else -- cgit