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 2021/04/02 14:04:00 UTC

svn commit: r1888307 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel: font/FontMapperImpl.java font/Standard14Fonts.java graphics/color/PDDeviceCMYK.java

Author: tilman
Date: Fri Apr  2 14:04:00 2021
New Revision: 1888307

URL: http://svn.apache.org/viewvc?rev=1888307&view=rev
Log:
PDFBOX-4892: check for resource before buffering, as suggested by valerybokov

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/Standard14Fonts.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDDeviceCMYK.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java?rev=1888307&r1=1888306&r2=1888307&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java Fri Apr  2 14:04:00 2021
@@ -112,14 +112,15 @@ final class FontMapperImpl implements Fo
         
         // -------------------------
 
-        String ttfName = "/org/apache/pdfbox/resources/ttf/LiberationSans-Regular.ttf";
-        try (InputStream resourceAsStream = FontMapper.class.getResourceAsStream(ttfName);
-             InputStream ttfStream = new BufferedInputStream(resourceAsStream))
+        try
         {
+            String resourceName = "/org/apache/pdfbox/resources/ttf/LiberationSans-Regular.ttf";
+            InputStream resourceAsStream = FontMapper.class.getResourceAsStream(resourceName);
             if (resourceAsStream == null)
             {
-                throw new IOException("resource '" + ttfName + "' not found");
+                throw new IOException("resource '" + resourceName + "' not found");
             }
+            InputStream ttfStream = new BufferedInputStream(resourceAsStream);
             TTFParser ttfParser = new TTFParser();
             lastResortFont = ttfParser.parse(ttfStream);
         }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/Standard14Fonts.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/Standard14Fonts.java?rev=1888307&r1=1888306&r2=1888307&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/Standard14Fonts.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/Standard14Fonts.java Fri Apr  2 14:04:00 2021
@@ -114,13 +114,13 @@ final class Standard14Fonts
     private static void loadMetrics(String fontName) throws IOException
     {
         String resourceName = "/org/apache/pdfbox/resources/afm/" + fontName + ".afm";
-        try (InputStream resourceAsStream = PDType1Font.class.getResourceAsStream(resourceName);
-             InputStream afmStream = new BufferedInputStream(resourceAsStream))
+        InputStream resourceAsStream = PDType1Font.class.getResourceAsStream(resourceName);
+        if (resourceAsStream == null)
+        {
+            throw new IOException("resource '" + resourceName + "' not found");
+        }
+        try (InputStream afmStream = new BufferedInputStream(resourceAsStream))
         {
-            if (resourceAsStream == null)
-            {
-                throw new IOException("resource '" + resourceName + "' not found");
-            }
             AFMParser parser = new AFMParser(afmStream);
             FontMetrics metric = parser.parse(true);
             FONTS.put(fontName, metric);

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDDeviceCMYK.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDDeviceCMYK.java?rev=1888307&r1=1888306&r2=1888307&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDDeviceCMYK.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDDeviceCMYK.java Fri Apr  2 14:04:00 2021
@@ -99,10 +99,13 @@ public class PDDeviceCMYK extends PDDevi
         // Instead, the "ISO Coated v2 300% (basICColor)" is used, which
         // is an open alternative to the "ISO Coated v2 300% (ECI)" profile.
 
-        String name = "/org/apache/pdfbox/resources/icc/ISOcoated_v2_300_bas.icc";
-
-        try (InputStream resourceAsStream = PDDeviceCMYK.class.getResourceAsStream(name);
-             InputStream is = new BufferedInputStream(resourceAsStream))
+        String resourceName = "/org/apache/pdfbox/resources/icc/ISOcoated_v2_300_bas.icc";
+        InputStream resourceAsStream = PDDeviceCMYK.class.getResourceAsStream(resourceName);
+        if (resourceAsStream == null)
+        {
+            throw new IOException("resource '" + resourceName + "' not found");
+        }    
+        try (InputStream is = new BufferedInputStream(resourceAsStream))
         {
             return ICC_Profile.getInstance(is);
         }