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 2011/01/23 19:34:49 UTC

svn commit: r1062489 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java

Author: lehmi
Date: Sun Jan 23 18:34:49 2011
New Revision: 1062489

URL: http://svn.apache.org/viewvc?rev=1062489&view=rev
Log:
PDFBOX-713: ensure that the stream used to read the embedded type1 font will be closed as proposed by Peter Lenahan

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java?rev=1062489&r1=1062488&r2=1062489&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java Sun Jan 23 18:34:49 2011
@@ -291,10 +291,10 @@ public class PDType1Font extends PDSimpl
             PDStream fontFile = ((PDFontDescriptorDictionary)fontDescriptor).getFontFile();
             if( fontFile != null )
             {
+                BufferedReader in = null;
                 try 
                 {
-                    BufferedReader in =
-                            new BufferedReader(new InputStreamReader(fontFile.createInputStream()));
+                    in = new BufferedReader(new InputStreamReader(fontFile.createInputStream()));
                     
                     // this section parses the font program stream searching for a /Encoding entry
                     // if it contains an array of values a Type1Encoding will be returned
@@ -372,12 +372,25 @@ public class PDType1Font extends PDSimpl
                             }
                         }
                     }
-                    in.close();
                 }
                 catch(IOException exception) 
                 {
                     log.error("Error: Could not extract the encoding from the embedded type1 font.");
                 }
+                finally
+                {
+                    if (in != null)
+                    {
+                        try
+                        {
+                            in.close();
+                        }
+                        catch(IOException exception) 
+                        {
+                            log.error("An error occurs while closing the stream used to read the embedded type1 font.");
+                        }
+                    }
+                }
             }
         }
     }