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/09/10 03:39:37 UTC
svn commit: r1903954 - /pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java
Author: tilman
Date: Sat Sep 10 03:39:36 2022
New Revision: 1903954
URL: http://svn.apache.org/viewvc?rev=1903954&view=rev
Log:
PDFBOX-5505: avoid IndexOutOfBoundsException
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java?rev=1903954&r1=1903953&r2=1903954&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java Sat Sep 10 03:39:36 2022
@@ -80,7 +80,7 @@ public abstract class PDCIDFont implemen
COSArray wArray = (COSArray) wBase;
int size = wArray.size();
int counter = 0;
- while (counter < size)
+ while (counter < size - 1)
{
COSBase firstCodeBase = wArray.getObject(counter++);
if (!(firstCodeBase instanceof COSNumber))
@@ -111,6 +111,11 @@ public abstract class PDCIDFont implemen
}
else
{
+ if (counter >= size)
+ {
+ LOG.warn("premature end of widths array");
+ break;
+ }
COSBase secondCodeBase = next;
COSBase rangeWidthBase = wArray.getObject(counter++);
if (!(secondCodeBase instanceof COSNumber) || !(rangeWidthBase instanceof COSNumber))