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 2020/06/11 04:44:40 UTC

svn commit: r1878735 - /pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java

Author: tilman
Date: Thu Jun 11 04:44:40 2020
New Revision: 1878735

URL: http://svn.apache.org/viewvc?rev=1878735&view=rev
Log:
PDFBOX-4872: avoid ClassCastException

Modified:
    pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java

Modified: pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java?rev=1878735&r1=1878734&r2=1878735&view=diff
==============================================================================
--- pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java (original)
+++ pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java Thu Jun 11 04:44:40 2020
@@ -122,27 +122,27 @@ public class CMapParser
 
                 if (previousToken != null)
                 {
-                    if (op.op.equals("usecmap"))
+                    if (op.op.equals("usecmap") && previousToken instanceof LiteralName)
                     {
                         parseUsecmap((LiteralName) previousToken, result);
                     }
-                    else if (op.op.equals("begincodespacerange"))
+                    else if (op.op.equals("begincodespacerange") && previousToken instanceof Number)
                     {
                         parseBegincodespacerange((Number) previousToken, cmapStream, result);
                     }
-                    else if (op.op.equals("beginbfchar"))
+                    else if (op.op.equals("beginbfchar") && previousToken instanceof Number)
                     {
                         parseBeginbfchar((Number) previousToken, cmapStream, result);
                     }
-                    else if (op.op.equals("beginbfrange"))
+                    else if (op.op.equals("beginbfrange") && previousToken instanceof Number)
                     {
                         parseBeginbfrange((Number) previousToken, cmapStream, result);
                     }
-                    else if (op.op.equals("begincidchar"))
+                    else if (op.op.equals("begincidchar") && previousToken instanceof Number)
                     {
                         parseBegincidchar((Number) previousToken, cmapStream, result);
                     }
-                    else if (op.op.equals("begincidrange"))
+                    else if (op.op.equals("begincidrange") && previousToken instanceof Integer)
                     {
                         parseBegincidrange((Integer) previousToken, cmapStream, result);
                     }