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 ) {