diff --git a/poi/src/main/java/org/apache/poi/ddf/AbstractEscherOptRecord.java b/poi/src/main/java/org/apache/poi/ddf/AbstractEscherOptRecord.java index 1fdf63380e..536e590a2d 100644 --- a/poi/src/main/java/org/apache/poi/ddf/AbstractEscherOptRecord.java +++ b/poi/src/main/java/org/apache/poi/ddf/AbstractEscherOptRecord.java @@ -55,6 +55,9 @@ public abstract class AbstractEscherOptRecord extends EscherRecord { EscherRecordFactory recordFactory ) { int bytesRemaining = readHeader( data, offset ); + if (bytesRemaining < 0) { + throw new IllegalStateException("Invalid value for bytesRemaining: " + bytesRemaining); + } short propertiesCount = readInstance( data, offset ); int pos = offset + 8;