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:40:21 UTC
svn commit: r1903955 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java
Author: tilman
Date: Sat Sep 10 03:40:21 2022
New Revision: 1903955
URL: http://svn.apache.org/viewvc?rev=1903955&view=rev
Log:
PDFBOX-5505: avoid IndexOutOfBoundsException
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java?rev=1903955&r1=1903954&r2=1903955&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java Sat Sep 10 03:40:21 2022
@@ -79,7 +79,7 @@ public abstract class PDCIDFont implemen
{
int size = wArray.size();
int counter = 0;
- while (counter < size)
+ while (counter < size - 1)
{
COSBase firstCodeBase = wArray.getObject(counter++);
if (!(firstCodeBase instanceof COSNumber))
@@ -110,6 +110,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))