You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2015/09/22 21:22:31 UTC
svn commit: r1704700 -
/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java
Author: tilman
Date: Tue Sep 22 19:22:29 2015
New Revision: 1704700
URL: http://svn.apache.org/viewvc?rev=1704700&view=rev
Log:
PDFBOX-2986: avoid potential resource leak
Modified:
pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java
Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java?rev=1704700&r1=1704699&r2=1704700&view=diff
==============================================================================
--- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java (original)
+++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java Tue Sep 22 19:22:29 2015
@@ -53,6 +53,7 @@ import org.apache.pdfbox.cos.COSName;
import org.apache.pdfbox.encoding.Encoding;
import org.apache.pdfbox.encoding.MacOSRomanEncoding;
import org.apache.pdfbox.encoding.WinAnsiEncoding;
+import org.apache.pdfbox.io.IOUtils;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.common.PDStream;
@@ -453,6 +454,7 @@ public class PDTrueTypeFont extends PDSi
/**
* {@inheritDoc}
*/
+ @Override
public Font getawtFont() throws IOException
{
PDFontDescriptorDictionary fd = (PDFontDescriptorDictionary)getFontDescriptor();
@@ -461,10 +463,12 @@ public class PDTrueTypeFont extends PDSi
PDStream ff2Stream = fd.getFontFile2();
if( ff2Stream != null )
{
+ InputStream is = null;
try
{
// create a font with the embedded data
- awtFont = Font.createFont( Font.TRUETYPE_FONT, ff2Stream.createInputStream() );
+ is = ff2Stream.createInputStream();
+ awtFont = Font.createFont(Font.TRUETYPE_FONT, is);
}
catch( FontFormatException f )
{
@@ -483,6 +487,10 @@ public class PDTrueTypeFont extends PDSi
log.info("Can't read the embedded font " + fd.getFontName() );
}
}
+ finally
+ {
+ IOUtils.closeQuietly(is);
+ }
if (awtFont == null)
{
if (fd.getFontName() != null)