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/05/08 11:12:49 UTC

svn commit: r1889671 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox: cos/COSName.java pdfparser/BaseParser.java

Author: lehmi
Date: Sat May  8 11:12:48 2021
New Revision: 1889671

URL: http://svn.apache.org/viewvc?rev=1889671&view=rev
Log:
PDFBOX-5190: don't create COSName instance for an empty string

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java?rev=1889671&r1=1889670&r2=1889671&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java Sat May  8 11:12:48 2021
@@ -662,7 +662,7 @@ public final class COSName extends COSBa
     public static COSName getPDFName(String aName)
     {
         COSName name = null;
-        if (aName != null)
+        if (aName != null && !aName.isEmpty())
         {
             // Is it a common COSName ??
             name = commonNameMap.get(aName);

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java?rev=1889671&r1=1889670&r2=1889671&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java Sat May  8 11:12:48 2021
@@ -287,6 +287,11 @@ public abstract class BaseParser
     private boolean parseCOSDictionaryNameValuePair(COSDictionary obj) throws IOException
     {
         COSName key = parseCOSName();
+        if (key == null)
+        {
+            LOG.warn("Empty COSName at offset " + source.getPosition());
+            return false;
+        }
         COSBase value = parseCOSDictionaryValue();
         skipSpaces();
         if (value == null)