Author: tilman
Date: Thu Feb  6 19:15:16 2014
New Revision: 1565412

URL: http://svn.apache.org/r1565412
Log:
PDFBOX-1888: close ImageInputStream as suggested by Tim Cameron
Task #PDFBOX-1888 - JBIG2Filter is creating an ImageInputStream (with temp 
file) and not closing it

Modified:
    
pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/JBIG2Filter.java

Modified: 
pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/JBIG2Filter.java
URL: 
http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/JBIG2Filter.java?rev=1565412&r1=1565411&r2=1565412&view=diff
==============================================================================
--- 
pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/JBIG2Filter.java
 (original)
+++ 
pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/JBIG2Filter.java
 Thu Feb  6 19:15:16 2014
@@ -28,6 +28,7 @@ import java.util.Iterator;
 
 import javax.imageio.ImageIO;
 import javax.imageio.ImageReader;
+import javax.imageio.stream.ImageInputStream;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -76,15 +77,15 @@ public class JBIG2Filter implements Filt
         {
             st = (COSStream) 
decodeP.getDictionaryObject(COSName.JBIG2_GLOBALS);
         }
-        if(st != null)
+        if (st != null)
         {
-            reader.setInput(ImageIO.createImageInputStream(new 
SequenceInputStream(st.getFilteredStream(),compressedData)));
-        }
-        else
-        {
-            reader.setInput(ImageIO.createImageInputStream(compressedData));
+            compressedData = new SequenceInputStream(st.getFilteredStream(),
+                    compressedData);
         }
+        ImageInputStream iis = ImageIO.createImageInputStream(compressedData);
+        reader.setInput(iis);
         BufferedImage bi = reader.read(0);
+        iis.close();
         reader.dispose();
         if ( bi != null )
         {


Reply via email to