Skip to content

Commit 7749ca4

Browse files
committed
PDFBOX-6035: prevent infinite loop
git-svn-id: https://svn.apache.org/repos/asf/pdfbox/trunk@1927175 13f79535-47bb-0310-9956-ffa450edef68
1 parent d7a6288 commit 7749ca4

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingType4.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,8 @@ List<ShadedTriangle> collectTriangles(AffineTransform xform, Matrix matrix)
192192
}
193193
break;
194194
default:
195-
LOG.warn("bad flag: {}", flag);
195+
LOG.warn("bad flag {}, aborting", flag);
196+
eof = true;
196197
break;
197198
}
198199
}

pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDTriangleBasedShadingType.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,10 @@ protected Vertex readVertex(ImageInputStream input, long maxSrcCoord, long maxSr
197197
PDRange rangeX, PDRange rangeY, PDRange[] colRangeTab,
198198
Matrix matrix, AffineTransform xform) throws IOException
199199
{
200+
if (bitsPerCoordinate <= 0 || numberOfColorComponents <= 0 || bitsPerColorComponent <= 0)
201+
{
202+
throw new IOException("nothing to read, check bitsPerCoordinate, numberOfColorComponents and bitsPerColorComponent");
203+
}
200204
float[] colorComponentTab = new float[numberOfColorComponents];
201205
long x = input.readBits(bitsPerCoordinate);
202206
long y = input.readBits(bitsPerCoordinate);

0 commit comments

Comments
 (0)