summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-02-23 12:17:33 +0000
committerAndras Timar <andras.timar@collabora.com>2017-02-27 11:24:25 +0100
commit3196278cb0dba5d6cee22ffac86d00c6e96949c0 (patch)
tree387506542c88b9b94aa7a21d5ac3a5924ef33206
parent39bd07d63f9ca3a0bcff96051dd234e9fe6af381 (diff)
ofz: don't loop endlessly on failed skip
(cherry picked from commit a438651d2b94f14a2a0e54024f69280917df37b5) Change-Id: Ibc105d8156e1b1ddf22948fb02165f8d03b4cfd5 Reviewed-on: https://gerrit.libreoffice.org/34608 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com> (cherry picked from commit 0215845ddae1d0bb060a44d2cac0cf0f723024a5)
-rw-r--r--hwpfilter/source/hiodev.cxx8
1 files changed, 6 insertions, 2 deletions
diff --git a/hwpfilter/source/hiodev.cxx b/hwpfilter/source/hiodev.cxx
index b6195f0106e0..74936b2e5c69 100644
--- a/hwpfilter/source/hiodev.cxx
+++ b/hwpfilter/source/hiodev.cxx
@@ -248,8 +248,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;