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();

Reply via email to