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/01/23 14:11:14 UTC
svn commit: r1897371 - /pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/type1/Type1Lexer.java
Author: tilman
Date: Sun Jan 23 14:11:14 2022
New Revision: 1897371
URL: http://svn.apache.org/viewvc?rev=1897371&view=rev
Log:
PDFBOX-5339: avoid NumberFormatException
Modified:
pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/type1/Type1Lexer.java
Modified: pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/type1/Type1Lexer.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/type1/Type1Lexer.java?rev=1897371&r1=1897370&r2=1897371&view=diff
==============================================================================
--- pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/type1/Type1Lexer.java (original)
+++ pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/type1/Type1Lexer.java Sun Jan 23 14:11:14 2022
@@ -234,7 +234,7 @@ class Type1Lexer
/**
* Reads a number or returns null.
*/
- private Token tryReadNumber()
+ private Token tryReadNumber() throws IOException
{
buffer.mark();
@@ -341,8 +341,16 @@ class Type1Lexer
buffer.position(buffer.position() - 1);
if (radix != null)
{
- Integer val = Integer.parseInt(sb.toString(), Integer.parseInt(radix.toString()));
- return new Token(val.toString(), Token.INTEGER);
+ int val;
+ try
+ {
+ val = Integer.parseInt(sb.toString(), Integer.parseInt(radix.toString()));
+ }
+ catch (NumberFormatException ex)
+ {
+ throw new IOException("Invalid number '" + sb.toString() + "'", ex);
+ }
+ return new Token(Integer.toString(val), Token.INTEGER);
}
return new Token(sb.toString(), Token.REAL);
}