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 2021/01/30 13:59:49 UTC

svn commit: r1886055 - in /pdfbox/trunk: pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/CMapManager.java preflight/src/main/java/org/apache/pdfbox/preflight/font/Type0FontValidator.java

Author: lehmi
Date: Sat Jan 30 13:59:49 2021
New Revision: 1886055

URL: http://svn.apache.org/viewvc?rev=1886055&view=rev
Log:
PDFBOX-5090: strict mode with overflow detection is limited to CMaps within PDFs

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/CMapManager.java
    pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/Type0FontValidator.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/CMapManager.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/CMapManager.java?rev=1886055&r1=1886054&r2=1886055&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/CMapManager.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/CMapManager.java Sat Jan 30 13:59:49 2021
@@ -52,8 +52,7 @@ final class CMapManager
             return cmap;
         }
 
-        CMapParser parser = new CMapParser();
-        CMap targetCmap = parser.parsePredefined(cMapName);
+        CMap targetCmap = new CMapParser().parsePredefined(cMapName);
 
         // limit the cache to predefined CMaps
         cMapCache.put(targetCmap.getName(), targetCmap);
@@ -71,8 +70,8 @@ final class CMapManager
         CMap targetCmap = null;
         if (cMapStream != null)
         {
-            CMapParser parser = new CMapParser();
-            targetCmap = parser.parse(cMapStream);
+            // parse CMap using strict mode
+            targetCmap = new CMapParser(true).parse(cMapStream);
         }
         return targetCmap;
     }

Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/Type0FontValidator.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/Type0FontValidator.java?rev=1886055&r1=1886054&r2=1886055&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/Type0FontValidator.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/font/Type0FontValidator.java Sat Jan 30 13:59:49 2021
@@ -248,8 +248,8 @@ public class Type0FontValidator extends
 
         try (InputStream cmapStream = aCMap.createInputStream())
         {
-            // extract information from the CMap stream
-            CMap fontboxCMap = new CMapParser().parse(cmapStream);
+            // extract information from the CMap stream using strict mode
+            CMap fontboxCMap = new CMapParser(true).parse(cmapStream);
             int wmValue = fontboxCMap.getWMode();
             String cmnValue = fontboxCMap.getName();