[Libreoffice-commits] core.git: filter/source

Caolán McNamara caolanm at redhat.com
Tue Feb 28 16:44:46 UTC 2017


 filter/source/graphicfilter/itiff/ccidecom.cxx |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 99c361be16eb3a21aa679a103db2d07ecd0f5d3c
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Feb 28 16:43:44 2017 +0000

    check nTargetBits size
    
    Change-Id: I5cc7499cfdee58ffa480bb31dfc262d5b781180d

diff --git a/filter/source/graphicfilter/itiff/ccidecom.cxx b/filter/source/graphicfilter/itiff/ccidecom.cxx
index 125d9c8..b5f3ab4 100644
--- a/filter/source/graphicfilter/itiff/ccidecom.cxx
+++ b/filter/source/graphicfilter/itiff/ccidecom.cxx
@@ -627,7 +627,9 @@ void CCIDecompressor::StartDecompression( SvStream & rIStream )
 
 bool CCIDecompressor::DecompressScanline( sal_uInt8 * pTarget, sal_uLong nTargetBits, bool bLastLine )
 {
-    bool b2D;
+    //Read[1|2]DScanlineData take a sal_uInt16, so its either limit here or expand there
+    if (nTargetBits > SAL_MAX_UINT16)
+        return false;
 
     if ( nEOLCount >= 5 )   // RTC (Return To Controller)
         return true;
@@ -682,6 +684,7 @@ bool CCIDecompressor::DecompressScanline( sal_uInt8 * pTarget, sal_uLong nTarget
     if ( nOptions & CCI_OPTION_BYTEALIGNROW )
         nInputBitsBufSize &= 0xfff8;
 
+    bool b2D;
     // is it a 2D row?
     if ( nOptions & CCI_OPTION_2D )
     {


More information about the Libreoffice-commits mailing list