Author: msahyoun
Date: Thu Apr 9 18:34:58 2026
New Revision: 1932932
Log:
PDFBOX-5660: create RandomAccessOutputStream within try clause
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSStream.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSStream.java
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSStream.java
Thu Apr 9 17:52:53 2026 (r1932931)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSStream.java
Thu Apr 9 18:34:58 2026 (r1932932)
@@ -230,11 +230,12 @@ public class COSStream extends COSDictio
randomAccess.clear();
else
randomAccess = getStreamCache().createBuffer();
- OutputStream randomOut = new RandomAccessOutputStream(randomAccess);
- boolean success = false;
+ OutputStream randomOut = null;
try
{
+ randomOut = new RandomAccessOutputStream(randomAccess);
+
OutputStream cosOut = new COSOutputStream(getFilterList(), this,
randomOut,
getStreamCache());
isWriting = true;
@@ -254,12 +255,12 @@ public class COSStream extends COSDictio
isWriting = false;
}
};
- success = true;
+ randomOut = null; // ownership transferred to result, so don't
close it in the finally block
return result;
}
finally
{
- if (!success)
+ if (randomOut != null)
{
// clean up partially written data
randomOut.close();