hwpfilter/qa/cppunit/data/fail/skipblock-1.hwp |binary hwpfilter/source/hiodev.cxx | 8 ++++++-- 2 files changed, 6 insertions(+), 2 deletions(-)
New commits: commit a438651d2b94f14a2a0e54024f69280917df37b5 Author: Caolán McNamara <caol...@redhat.com> Date: Thu Feb 23 12:17:33 2017 +0000 ofz: don't loop endlessly on failed skip Change-Id: Ibc105d8156e1b1ddf22948fb02165f8d03b4cfd5 diff --git a/hwpfilter/qa/cppunit/data/fail/skipblock-1.hwp b/hwpfilter/qa/cppunit/data/fail/skipblock-1.hwp new file mode 100644 index 0000000..8fd8e7a Binary files /dev/null and b/hwpfilter/qa/cppunit/data/fail/skipblock-1.hwp differ diff --git a/hwpfilter/source/hiodev.cxx b/hwpfilter/source/hiodev.cxx index 98001e9..48d105f 100644 --- a/hwpfilter/source/hiodev.cxx +++ b/hwpfilter/source/hiodev.cxx @@ -242,8 +242,12 @@ int HStreamIODev::skipBlock(int size) else{ int remain = size; while(remain){ - if( remain > BUFSIZE ) - remain -= GZREAD(rBuf, BUFSIZE); + if( remain > BUFSIZE ) { + int read = GZREAD(rBuf, BUFSIZE); + remain -= read; + if (read != BUFSIZE) + break; + } else{ remain -= GZREAD(rBuf, remain); break;
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits