You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2014/01/05 17:14:12 UTC

svn commit: r1555550 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics: color/PDIndexed.java xobject/PDJpeg.java

Author: lehmi
Date: Sun Jan  5 16:14:12 2014
New Revision: 1555550

URL: http://svn.apache.org/r1555550
Log:
PDFBOX-1820: close streams as proposed by Tilman Hausherr

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDIndexed.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDJpeg.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDIndexed.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDIndexed.java?rev=1555550&r1=1555549&r2=1555550&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDIndexed.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDIndexed.java Sun Jan  5 16:14:12 2014
@@ -31,6 +31,7 @@ import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.cos.COSNumber;
 import org.apache.pdfbox.cos.COSStream;
 import org.apache.pdfbox.cos.COSString;
+import org.apache.pdfbox.io.IOUtils;
 
 /**
  * This class represents an Indexed color space.
@@ -260,6 +261,7 @@ public class PDIndexed extends PDColorSp
                     output.write(buffer, 0, amountRead);
                 }
                 lookupData = output.toByteArray();
+                IOUtils.closeQuietly(input);
             }
             else if (lookupTable == null)
             {

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDJpeg.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDJpeg.java?rev=1555550&r1=1555549&r2=1555550&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDJpeg.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDJpeg.java Sun Jan  5 16:14:12 2014
@@ -32,7 +32,6 @@ import java.io.IOException;
 import java.io.OutputStream;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
-
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -45,7 +44,6 @@ import javax.imageio.stream.ImageInputSt
 
 import org.apache.pdfbox.cos.COSDictionary;
 import org.apache.pdfbox.cos.COSName;
-
 import org.apache.pdfbox.pdmodel.PDDocument;
 import org.apache.pdfbox.pdmodel.common.PDStream;
 import org.apache.pdfbox.pdmodel.common.function.PDFunction;
@@ -65,7 +63,7 @@ import org.w3c.dom.NodeList;
  * An image class for JPegs.
  *
  * @author mathiak
- * @version $Revision: 1.5 $
+ * 
  */
 public class PDJpeg extends PDXObjectImage
 {
@@ -351,7 +349,6 @@ public class PDJpeg extends PDXObjectIma
             Iterator<ImageReader> readers = ImageIO.getImageReaders(input);
             if (readers == null || !readers.hasNext()) 
             {
-                input.close();
                 throw new RuntimeException("No ImageReaders found");
             }
             reader = (ImageReader) readers.next();
@@ -388,6 +385,17 @@ public class PDJpeg extends PDXObjectIma
         }
         finally
         {
+            try
+            {
+                if (input != null)
+                {
+                    input.close();
+                }
+            }
+            catch (IOException exception)
+            {
+                // swallow the exception
+            }
             if (reader != null)
             {
                 reader.dispose();