You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2021/05/22 13:47:10 UTC
svn commit: r1890103 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox: cos/COSStream.java
pdmodel/common/PDStream.java
Author: tilman
Date: Sat May 22 13:47:10 2021
New Revision: 1890103
URL: http://svn.apache.org/viewvc?rev=1890103&view=rev
Log:
PDFBOX-5199: avoid possible memory leak
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSStream.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDStream.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSStream.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSStream.java?rev=1890103&r1=1890102&r2=1890103&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSStream.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSStream.java Sat May 22 13:47:10 2021
@@ -213,7 +213,14 @@ public class COSStream extends COSDictio
input = new ByteArrayInputStream(output.toByteArray());
output.reset();
}
- filterList.get(i).decode(input, output, this, i, DecodeOptions.DEFAULT);
+ try
+ {
+ filterList.get(i).decode(input, output, this, i, DecodeOptions.DEFAULT);
+ }
+ finally
+ {
+ IOUtils.closeQuietly(input);
+ }
}
return new RandomAccessReadBuffer(output.toByteArray());
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDStream.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDStream.java?rev=1890103&r1=1890102&r2=1890103&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDStream.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDStream.java Sat May 22 13:47:10 2021
@@ -222,8 +222,14 @@ public class PDStream implements COSObje
else
{
Filter filter = FilterFactory.INSTANCE.getFilter(nextFilter);
- filter.decode(is, os, stream, i);
- IOUtils.closeQuietly(is);
+ try
+ {
+ filter.decode(is, os, stream, i);
+ }
+ finally
+ {
+ IOUtils.closeQuietly(is);
+ }
is = new ByteArrayInputStream(os.toByteArray());
os.reset();
}