Browse Source

* Fix memleak in case of chained stream page contents

(cherry picked from commit 2e438c498140a94e4db3bfba20d4b3fe24ce46f6)
Michaël Van Canneyt 2 years ago
parent
commit
76db9359a8
1 changed files with 6 additions and 1 deletions
  1. 6 1
      packages/fcl-pdf/src/fppdfparser.pp

+ 6 - 1
packages/fcl-pdf/src/fppdfparser.pp

@@ -2434,7 +2434,12 @@ begin
     aPage:=aDoc.Page[I];
     DoProgress(pkContentStream,I+1,aCount);
     aStream:=GetPageContentStream(aDoc,aPage);
-    ParseContentStream(aPage,aStream,aOnCommand)
+    try
+      ParseContentStream(aPage,aStream,aOnCommand)
+    finally
+      if aStream is TChainedStream then
+        aStream.Free;
+    end;
     end;
 end;