filter/qa/cppunit/data/tiff/fail/hang-7.tiff |binary filter/source/graphicfilter/itiff/ccidecom.cxx | 5 ++++- 2 files changed, 4 insertions(+), 1 deletion(-)
New commits: commit 4df53f3d14048492375b5b9bfe17cca4f9452c68 Author: Caolán McNamara <caol...@redhat.com> Date: Mon Jul 20 11:20:45 2015 +0100 don't hang on a bad ReadCodeAndDecode Change-Id: I999012d428fa84e21fe9e9f851a016eacc96a686 (cherry picked from commit 6964f67d0dd44c8a3c68caf194075ba5c649bf4b) Reviewed-on: https://gerrit.libreoffice.org/17217 Reviewed-by: David Tardon <dtar...@redhat.com> Tested-by: David Tardon <dtar...@redhat.com> diff --git a/filter/qa/cppunit/data/tiff/fail/hang-7.tiff b/filter/qa/cppunit/data/tiff/fail/hang-7.tiff new file mode 100644 index 0000000..61a5f2d Binary files /dev/null and b/filter/qa/cppunit/data/tiff/fail/hang-7.tiff differ diff --git a/filter/source/graphicfilter/itiff/ccidecom.cxx b/filter/source/graphicfilter/itiff/ccidecom.cxx index c1447b16..5542cff 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);
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits