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 2022/08/28 08:18:57 UTC
svn commit: r1903721 - /pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java
Author: tilman
Date: Sun Aug 28 08:18:57 2022
New Revision: 1903721
URL: http://svn.apache.org/viewvc?rev=1903721&view=rev
Log:
PDFBOX-4892: avoid memory leak
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java?rev=1903721&r1=1903720&r2=1903721&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java Sun Aug 28 08:18:57 2022
@@ -34,6 +34,7 @@ import org.apache.fontbox.ttf.TrueTypeFo
import org.apache.fontbox.util.BoundingBox;
import org.apache.pdfbox.cos.COSDictionary;
import org.apache.pdfbox.cos.COSName;
+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;
@@ -46,7 +47,6 @@ import org.apache.pdfbox.pdmodel.font.en
import org.apache.pdfbox.pdmodel.font.encoding.Type1Encoding;
import org.apache.pdfbox.pdmodel.font.encoding.WinAnsiEncoding;
-
import static org.apache.pdfbox.pdmodel.font.UniUtil.getUniNameOfCodePoint;
/**
@@ -192,16 +192,19 @@ public class PDTrueTypeFont extends PDSi
PDStream ff2Stream = fd.getFontFile2();
if (ff2Stream != null)
{
+ InputStream is = null;
try
{
// embedded
TTFParser ttfParser = new TTFParser(true);
- ttfFont = ttfParser.parse(ff2Stream.createInputStream());
+ is = ff2Stream.createInputStream();
+ ttfFont = ttfParser.parse(is);
}
catch (IOException e)
{
LOG.warn("Could not read embedded TTF for font " + getBaseFont(), e);
fontIsDamaged = true;
+ IOUtils.closeQuietly(is);
}
}
}