diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-07-20 11:20:45 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-07-20 11:24:42 +0100 |
commit | 6964f67d0dd44c8a3c68caf194075ba5c649bf4b (patch) | |
tree | 335ff5b632471b12e2b23e4d9f5a13a22278ac8c /filter/source/graphicfilter/itiff/ccidecom.cxx | |
parent | 47d90af52a548429224c38b5c58a70116e0f7907 (diff) |
don't hang on a bad ReadCodeAndDecode
Change-Id: I999012d428fa84e21fe9e9f851a016eacc96a686
Diffstat (limited to 'filter/source/graphicfilter/itiff/ccidecom.cxx')
-rw-r--r-- | filter/source/graphicfilter/itiff/ccidecom.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/filter/source/graphicfilter/itiff/ccidecom.cxx b/filter/source/graphicfilter/itiff/ccidecom.cxx index 4a49f73db133..025240c856bb 100644 --- a/filter/source/graphicfilter/itiff/ccidecom.cxx +++ b/filter/source/graphicfilter/itiff/ccidecom.cxx @@ -1026,11 +1026,14 @@ void CCIDecompressor::Read2DScanlineData(sal_uInt8 * pTarget, sal_uInt16 nTarget while (nBitPos<nTargetBits && bStatus) { n2DMode=ReadCodeAndDecode(p2DModeLookUp,10); - if (!bStatus) return; + if (!bStatus) + return; if (n2DMode==CCI2DMODE_UNCOMP) { for (;;) { nUncomp=ReadCodeAndDecode(pUncompLookUp,11); + if (!bStatus) + break; if ( nUncomp <= CCIUNCOMP_4White_1Black ) { nRun=nUncomp-CCIUNCOMP_0White_1Black; FillBits(pTarget,nTargetBits,nBitPos,nRun,0x00); |