Pārlūkot izejas kodu

* Fix bug ID #26827

git-svn-id: trunk@31953 -
michael 10 gadi atpakaļ
vecāks
revīzija
8751e8bb3e
1 mainītis faili ar 9 papildinājumiem un 0 dzēšanām
  1. 9 0
      packages/paszlib/src/infcodes.pas

+ 9 - 0
packages/paszlib/src/infcodes.pas

@@ -150,6 +150,15 @@ begin
           z.next_in := p;
           s.write := q;
           inflate_codes := inflate_flush(s,z,r);
+
+          //if this is the last block, there are no bytes left in stream and the block end code follows, finish processing this block
+          if s.last then
+          begin
+            t := c^.sub.code.tree;
+            if t^.exop and 32 <> 0 then
+              break;
+          end;
+
           exit;
         end;
         dec(n);