diff --git a/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfDraw.java b/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfDraw.java index 7e495e2868..2eae698b16 100644 --- a/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfDraw.java +++ b/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfDraw.java @@ -783,6 +783,9 @@ public class HemfDraw { int mode2 = leis.readUByte(); int mode3 = leis.readUByte(); assert(mode2 == 0x04 && (mode3 == 0x04 || mode3 == 0x05)); + if ((i + 2) > points.length) { + throw new IllegalStateException("Points index causes index out of bounds"); + } poly.curveTo( points[i].getX(), points[i].getY(), points[i+1].getX(), points[i+1].getY(),