This is an automated email from the ASF dual-hosted git repository.
pjfanning pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/poi.git
The following commit(s) were added to refs/heads/trunk by this push:
new e26f86e010 more changes to try to include method names in exceptions
(#1118)
e26f86e010 is described below
commit e26f86e010f3cca0e6364b792f1b9a4ac9a69325
Author: PJ Fanning <[email protected]>
AuthorDate: Thu Jun 4 21:03:08 2026 +0100
more changes to try to include method names in exceptions (#1118)
* more changes to try to include method names in exceptions
* Update poi-integration-exceptions.csv
---
.../apache/poi/common/usermodel/fonts/FontHeader.java | 5 +++--
.../java/org/apache/poi/ddf/AbstractEscherOptRecord.java | 16 +++++++++++++---
.../java/org/apache/poi/ddf/EscherArrayProperty.java | 3 ++-
.../main/java/org/apache/poi/ddf/EscherBSERecord.java | 3 ++-
.../main/java/org/apache/poi/ddf/EscherBlipRecord.java | 6 ++++--
.../org/apache/poi/ddf/EscherClientAnchorRecord.java | 3 ++-
.../java/org/apache/poi/ddf/EscherClientDataRecord.java | 5 ++++-
.../java/org/apache/poi/ddf/EscherComplexProperty.java | 6 ++++--
.../main/java/org/apache/poi/ddf/EscherMetafileBlip.java | 6 ++++--
.../java/org/apache/poi/ddf/EscherTextboxRecord.java | 6 ++++--
.../java/org/apache/poi/ddf/UnknownEscherRecord.java | 3 ++-
poi/src/main/java/org/apache/poi/hpsf/Array.java | 3 ++-
poi/src/main/java/org/apache/poi/hpsf/Blob.java | 2 +-
poi/src/main/java/org/apache/poi/hpsf/ClipboardData.java | 3 ++-
.../main/java/org/apache/poi/hpsf/CodePageString.java | 3 ++-
poi/src/main/java/org/apache/poi/hpsf/Section.java | 3 ++-
poi/src/main/java/org/apache/poi/hpsf/Thumbnail.java | 3 ++-
poi/src/main/java/org/apache/poi/hpsf/UnicodeString.java | 3 ++-
.../main/java/org/apache/poi/hpsf/VariantSupport.java | 3 ++-
test-data/poi-integration-exceptions.csv | 2 +-
20 files changed, 60 insertions(+), 27 deletions(-)
diff --git
a/poi/src/main/java/org/apache/poi/common/usermodel/fonts/FontHeader.java
b/poi/src/main/java/org/apache/poi/common/usermodel/fonts/FontHeader.java
index 5c85980a96..0204c2d597 100644
--- a/poi/src/main/java/org/apache/poi/common/usermodel/fonts/FontHeader.java
+++ b/poi/src/main/java/org/apache/poi/common/usermodel/fonts/FontHeader.java
@@ -29,7 +29,7 @@ import java.util.Map;
import java.util.function.Supplier;
import org.apache.poi.common.usermodel.GenericRecord;
-import org.apache.poi.util.IOUtils;
+import org.apache.poi.util.ArrayUtil;
import org.apache.poi.util.LittleEndianByteArrayInputStream;
import org.apache.poi.util.LittleEndianInput;
import org.apache.poi.util.LittleEndianInputStream;
@@ -191,7 +191,8 @@ public class FontHeader implements FontInfo, GenericRecord {
// padding
leis.readShort();
int nameSize = leis.readUShort();
- byte[] nameBuf = IOUtils.safelyAllocate(nameSize, 1000);
+ ArrayUtil.strictAllocateCheck(nameSize, 1000);
+ byte[] nameBuf = new byte[nameSize];
leis.readFully(nameBuf);
// may be 0-terminated, just trim it away
return new String(nameBuf, 0, nameSize,
StandardCharsets.UTF_16LE).trim();
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 f10f6f24f1..8959ec85d7 100644
--- a/poi/src/main/java/org/apache/poi/ddf/AbstractEscherOptRecord.java
+++ b/poi/src/main/java/org/apache/poi/ddf/AbstractEscherOptRecord.java
@@ -22,6 +22,7 @@ import java.util.List;
import java.util.Map;
import java.util.function.Supplier;
+import org.apache.poi.util.ArrayUtil;
import org.apache.poi.util.GenericRecordUtil;
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.LittleEndian;
@@ -32,7 +33,16 @@ import org.apache.poi.util.LittleEndian;
*/
public abstract class AbstractEscherOptRecord extends EscherRecord {
// arbitrary limit, can be adjusted if it turns out to be too low
- private static final int MAX_PROPERTY_SIZE = 1_000_000;
+ private static final int DEFAULT_MAX_PROPERTY_SIZE = 1_000_000;
+ private static int MAX_PROPERTY_SIZE = DEFAULT_MAX_PROPERTY_SIZE;
+
+ public static void setMaxPropertySize(int maxPropertySize) {
+ MAX_PROPERTY_SIZE = maxPropertySize;
+ }
+
+ public static int getMaxPropertySize() {
+ return MAX_PROPERTY_SIZE;
+ }
private final List<EscherProperty> properties = new ArrayList<>();
@@ -90,10 +100,10 @@ public abstract class AbstractEscherOptRecord extends
EscherRecord {
int totalSize = 0;
for ( EscherProperty property : properties ) {
int propertySize = property.getPropertySize();
- IOUtils.safelyAllocateCheck(propertySize, MAX_PROPERTY_SIZE);
totalSize += propertySize;
}
-
+ ArrayUtil.safelyAllocateCheck(totalSize, MAX_PROPERTY_SIZE,
+ "AbstractEscherOptRecord.setMaxPropertySize()");
return totalSize;
}
diff --git a/poi/src/main/java/org/apache/poi/ddf/EscherArrayProperty.java
b/poi/src/main/java/org/apache/poi/ddf/EscherArrayProperty.java
index cbd39b630c..825e8d1024 100644
--- a/poi/src/main/java/org/apache/poi/ddf/EscherArrayProperty.java
+++ b/poi/src/main/java/org/apache/poi/ddf/EscherArrayProperty.java
@@ -150,7 +150,8 @@ public final class EscherArrayProperty extends
EscherComplexProperty implements
public byte[] getElement(int index) {
int actualSize = getActualSizeOfElements(getSizeOfElements());
- return IOUtils.safelyClone(getComplexData(), FIXED_SIZE + index *
actualSize, actualSize, MAX_RECORD_LENGTH);
+ return IOUtils.safelyClone(getComplexData(), FIXED_SIZE + index *
actualSize,
+ actualSize, MAX_RECORD_LENGTH,
"EscherArrayProperty.setMaxRecordLength()");
}
public void setElement(int index, byte[] element) {
diff --git a/poi/src/main/java/org/apache/poi/ddf/EscherBSERecord.java
b/poi/src/main/java/org/apache/poi/ddf/EscherBSERecord.java
index edab5b2135..a11c880be7 100644
--- a/poi/src/main/java/org/apache/poi/ddf/EscherBSERecord.java
+++ b/poi/src/main/java/org/apache/poi/ddf/EscherBSERecord.java
@@ -123,7 +123,8 @@ public final class EscherBSERecord extends EscherRecord {
pos += 36 + bytesRead;
bytesRemaining -= bytesRead;
- _remainingData = IOUtils.safelyClone(data, pos, bytesRemaining,
MAX_RECORD_LENGTH);
+ _remainingData = IOUtils.safelyClone(data, pos, bytesRemaining,
MAX_RECORD_LENGTH,
+ "EscherBSERecord.setMaxRecordLength()");
// fillFields() must return bytes actually consumed from the stream.
// Using getRecordSize() can over-report consumption when malformed
diff --git a/poi/src/main/java/org/apache/poi/ddf/EscherBlipRecord.java
b/poi/src/main/java/org/apache/poi/ddf/EscherBlipRecord.java
index 8a08fe29ee..cca7605383 100644
--- a/poi/src/main/java/org/apache/poi/ddf/EscherBlipRecord.java
+++ b/poi/src/main/java/org/apache/poi/ddf/EscherBlipRecord.java
@@ -64,7 +64,8 @@ public class EscherBlipRecord extends EscherRecord {
int bytesAfterHeader = readHeader( data, offset );
int pos = offset + HEADER_SIZE;
- field_pictureData = IOUtils.safelyClone(data, pos, bytesAfterHeader,
MAX_RECORD_LENGTH);
+ field_pictureData = IOUtils.safelyClone(data, pos, bytesAfterHeader,
MAX_RECORD_LENGTH,
+ "EscherBlipRecord.setMaxRecordLength()");
return bytesAfterHeader + 8;
}
@@ -121,7 +122,8 @@ public class EscherBlipRecord extends EscherRecord {
if (pictureData == null || offset < 0 || length < 0 ||
pictureData.length < offset+length) {
throw new IllegalArgumentException("picture data can't be null");
}
- field_pictureData = IOUtils.safelyClone(pictureData, offset, length,
MAX_RECORD_LENGTH);
+ field_pictureData = IOUtils.safelyClone(pictureData, offset, length,
MAX_RECORD_LENGTH,
+ "EscherBlipRecord.setMaxRecordLength()");
}
@Override
diff --git a/poi/src/main/java/org/apache/poi/ddf/EscherClientAnchorRecord.java
b/poi/src/main/java/org/apache/poi/ddf/EscherClientAnchorRecord.java
index a24c816fd6..1f0b272b91 100644
--- a/poi/src/main/java/org/apache/poi/ddf/EscherClientAnchorRecord.java
+++ b/poi/src/main/java/org/apache/poi/ddf/EscherClientAnchorRecord.java
@@ -122,7 +122,8 @@ public class EscherClientAnchorRecord extends EscherRecord {
}
}
bytesRemaining -= size;
- remainingData = IOUtils.safelyClone(data, pos + size, bytesRemaining,
MAX_RECORD_LENGTH);
+ remainingData = IOUtils.safelyClone(data, pos + size, bytesRemaining,
+ MAX_RECORD_LENGTH,
"EscherClientAnchorRecord.setMaxRecordLength()");
return 8 + size + bytesRemaining;
}
diff --git a/poi/src/main/java/org/apache/poi/ddf/EscherClientDataRecord.java
b/poi/src/main/java/org/apache/poi/ddf/EscherClientDataRecord.java
index 8023438aec..e06c5396e1 100644
--- a/poi/src/main/java/org/apache/poi/ddf/EscherClientDataRecord.java
+++ b/poi/src/main/java/org/apache/poi/ddf/EscherClientDataRecord.java
@@ -66,7 +66,10 @@ public class EscherClientDataRecord extends EscherRecord {
int bytesRemaining = readHeader( data, offset );
int pos = offset + 8;
- remainingData = (bytesRemaining == 0) ? EMPTY :
IOUtils.safelyClone(data, pos, bytesRemaining, MAX_RECORD_LENGTH);
+ remainingData = (bytesRemaining == 0) ?
+ EMPTY :
+ IOUtils.safelyClone(data, pos, bytesRemaining,
MAX_RECORD_LENGTH,
+ "EscherClientDataRecord.setMaxRecordLength()");
return 8 + bytesRemaining;
}
diff --git a/poi/src/main/java/org/apache/poi/ddf/EscherComplexProperty.java
b/poi/src/main/java/org/apache/poi/ddf/EscherComplexProperty.java
index 680ee9a5ae..9ec9bc81e6 100644
--- a/poi/src/main/java/org/apache/poi/ddf/EscherComplexProperty.java
+++ b/poi/src/main/java/org/apache/poi/ddf/EscherComplexProperty.java
@@ -69,7 +69,8 @@ public class EscherComplexProperty extends EscherProperty {
private void ensureComplexData(int size) {
if (this.complexData == null) {
- complexData = IOUtils.safelyAllocate(size, MAX_RECORD_LENGTH);
+ complexData = IOUtils.safelyAllocate(size, MAX_RECORD_LENGTH,
+ "EscherComplexProperty.setMaxRecordLength()");
}
}
@@ -172,7 +173,8 @@ public class EscherComplexProperty extends EscherProperty {
return;
}
- byte[] newArray = IOUtils.safelyAllocate(newSize, MAX_RECORD_LENGTH);
+ byte[] newArray = IOUtils.safelyAllocate(newSize, MAX_RECORD_LENGTH,
+ "EscherComplexProperty.setMaxRecordLength()");
System.arraycopy(complexData, 0, newArray, 0,
Math.min(Math.min(complexData.length, copyLen),newSize));
complexData = newArray;
complexSize = newSize;
diff --git a/poi/src/main/java/org/apache/poi/ddf/EscherMetafileBlip.java
b/poi/src/main/java/org/apache/poi/ddf/EscherMetafileBlip.java
index caba1fdb5c..8100fed0f9 100644
--- a/poi/src/main/java/org/apache/poi/ddf/EscherMetafileBlip.java
+++ b/poi/src/main/java/org/apache/poi/ddf/EscherMetafileBlip.java
@@ -120,7 +120,8 @@ public final class EscherMetafileBlip extends
EscherBlipRecord {
field_6_fCompression = data[pos]; pos++;
field_7_fFilter = data[pos]; pos++;
- raw_pictureData = IOUtils.safelyClone(data, pos, field_5_cbSave,
MAX_RECORD_LENGTH);
+ raw_pictureData = IOUtils.safelyClone(data, pos, field_5_cbSave,
MAX_RECORD_LENGTH,
+ "EscherMetadataBlip.setMaxRecordLength()");
pos += field_5_cbSave;
// 0 means DEFLATE compression
@@ -133,7 +134,8 @@ public final class EscherMetafileBlip extends
EscherBlipRecord {
int remaining = bytesAfterHeader - pos + offset + HEADER_SIZE;
if(remaining > 0) {
- remainingData = IOUtils.safelyClone(data, pos, remaining,
MAX_RECORD_LENGTH);
+ remainingData = IOUtils.safelyClone(data, pos, remaining,
MAX_RECORD_LENGTH,
+ "EscherMetadataBlip.setMaxRecordLength()");
}
return bytesAfterHeader + HEADER_SIZE;
}
diff --git a/poi/src/main/java/org/apache/poi/ddf/EscherTextboxRecord.java
b/poi/src/main/java/org/apache/poi/ddf/EscherTextboxRecord.java
index 06e21f2fcd..b74ed3303f 100644
--- a/poi/src/main/java/org/apache/poi/ddf/EscherTextboxRecord.java
+++ b/poi/src/main/java/org/apache/poi/ddf/EscherTextboxRecord.java
@@ -70,7 +70,8 @@ public final class EscherTextboxRecord extends EscherRecord {
int bytesRemaining = readHeader( data, offset );
// Save the data, ready for the calling code to do something useful
with it
- thedata = IOUtils.safelyClone(data, offset + 8, bytesRemaining,
MAX_RECORD_LENGTH);
+ thedata = IOUtils.safelyClone(data, offset + 8, bytesRemaining,
MAX_RECORD_LENGTH,
+ "EscherTextboxRecord.setMaxRecordLength()");
return bytesRemaining + 8;
}
@@ -117,7 +118,8 @@ public final class EscherTextboxRecord extends EscherRecord
{
* @param length the length of the block
*/
public void setData(byte[] b, int start, int length) {
- thedata = IOUtils.safelyClone(b, start, length, MAX_RECORD_LENGTH);
+ thedata = IOUtils.safelyClone(b, start, length, MAX_RECORD_LENGTH,
+ "EscherTextboxRecord.setMaxRecordLength()");
}
/**
diff --git a/poi/src/main/java/org/apache/poi/ddf/UnknownEscherRecord.java
b/poi/src/main/java/org/apache/poi/ddf/UnknownEscherRecord.java
index 98434aaace..fbe199d67c 100644
--- a/poi/src/main/java/org/apache/poi/ddf/UnknownEscherRecord.java
+++ b/poi/src/main/java/org/apache/poi/ddf/UnknownEscherRecord.java
@@ -112,7 +112,8 @@ public final class UnknownEscherRecord extends EscherRecord
{
bytesRemaining = 0;
}
- thedata = IOUtils.safelyClone(data, offset + 8, bytesRemaining,
MAX_RECORD_LENGTH);
+ thedata = IOUtils.safelyClone(data, offset + 8, bytesRemaining,
MAX_RECORD_LENGTH,
+ "UnknownEscherRecord.setMaxRecordLength()");
return bytesRemaining + 8;
}
diff --git a/poi/src/main/java/org/apache/poi/hpsf/Array.java
b/poi/src/main/java/org/apache/poi/hpsf/Array.java
index c937bebad4..3e96bb7444 100644
--- a/poi/src/main/java/org/apache/poi/hpsf/Array.java
+++ b/poi/src/main/java/org/apache/poi/hpsf/Array.java
@@ -104,7 +104,8 @@ public class Array {
}
int numberOfScalars = Math.toIntExact(numberOfScalarsLong);
- IOUtils.safelyAllocateCheck(numberOfScalars,
getMaxNumberOfArrayScalars());
+ IOUtils.safelyAllocateCheck(numberOfScalars,
getMaxNumberOfArrayScalars(),
+ "Array.setMaxNumberOfArrayScalars()");
_values = new TypedPropertyValue[numberOfScalars];
int paddedType = (_header._type == Variant.VT_VARIANT) ? 0 :
_header._type;
diff --git a/poi/src/main/java/org/apache/poi/hpsf/Blob.java
b/poi/src/main/java/org/apache/poi/hpsf/Blob.java
index 8ac5d7bdfe..0778023e02 100644
--- a/poi/src/main/java/org/apache/poi/hpsf/Blob.java
+++ b/poi/src/main/java/org/apache/poi/hpsf/Blob.java
@@ -45,7 +45,7 @@ public class Blob {
public void read( LittleEndianInput lei ) {
int size = lei.readInt();
- _value = IOUtils.safelyAllocate(size, MAX_RECORD_LENGTH);
+ _value = IOUtils.safelyAllocate(size, MAX_RECORD_LENGTH,
"Blob.setMaxRecordLength()");
if ( size > 0 ) {
lei.readFully(_value);
}
diff --git a/poi/src/main/java/org/apache/poi/hpsf/ClipboardData.java
b/poi/src/main/java/org/apache/poi/hpsf/ClipboardData.java
index e0d62d5e90..9a04d2603c 100644
--- a/poi/src/main/java/org/apache/poi/hpsf/ClipboardData.java
+++ b/poi/src/main/java/org/apache/poi/hpsf/ClipboardData.java
@@ -64,7 +64,8 @@ public class ClipboardData {
}
_format = lei.readInt();
- _value = IOUtils.safelyAllocate(size - LittleEndianConsts.INT_SIZE,
MAX_RECORD_LENGTH);
+ _value = IOUtils.safelyAllocate(size - LittleEndianConsts.INT_SIZE,
MAX_RECORD_LENGTH,
+ "ClipboardData.setMaxRecordLength()");
lei.readFully(_value);
}
diff --git a/poi/src/main/java/org/apache/poi/hpsf/CodePageString.java
b/poi/src/main/java/org/apache/poi/hpsf/CodePageString.java
index 05729510cf..6f68ef474a 100644
--- a/poi/src/main/java/org/apache/poi/hpsf/CodePageString.java
+++ b/poi/src/main/java/org/apache/poi/hpsf/CodePageString.java
@@ -53,7 +53,8 @@ public class CodePageString {
public void read( LittleEndianByteArrayInputStream lei ) {
int offset = lei.getReadIndex();
int size = lei.readInt();
- _value = IOUtils.safelyAllocate(size, MAX_RECORD_LENGTH);
+ _value = IOUtils.safelyAllocate(size, MAX_RECORD_LENGTH,
+ "CodePageString.setMaxRecordLength()");
if (size == 0) {
return;
}
diff --git a/poi/src/main/java/org/apache/poi/hpsf/Section.java
b/poi/src/main/java/org/apache/poi/hpsf/Section.java
index 3655103ef3..e3d53275e4 100644
--- a/poi/src/main/java/org/apache/poi/hpsf/Section.java
+++ b/poi/src/main/java/org/apache/poi/hpsf/Section.java
@@ -828,7 +828,8 @@ public class Section {
}
try {
- byte[] buf = IOUtils.safelyAllocate(nrBytes,
CodePageString.getMaxRecordLength());
+ byte[] buf = IOUtils.safelyAllocate(nrBytes,
CodePageString.getMaxRecordLength(),
+ "CodePageString.setMaxRecordLength()");
leis.readFully(buf, 0, nrBytes);
final String str = CodePageUtil.getStringFromCodePage(buf, 0,
nrBytes, cp);
diff --git a/poi/src/main/java/org/apache/poi/hpsf/Thumbnail.java
b/poi/src/main/java/org/apache/poi/hpsf/Thumbnail.java
index 396462203a..97c99426c2 100644
--- a/poi/src/main/java/org/apache/poi/hpsf/Thumbnail.java
+++ b/poi/src/main/java/org/apache/poi/hpsf/Thumbnail.java
@@ -278,6 +278,7 @@ public final class Thumbnail {
"be CF_METAFILEPICT.");
}
byte[] thumbnail = getThumbnail();
- return IOUtils.safelyClone(thumbnail, OFFSET_WMFDATA, thumbnail.length
- OFFSET_WMFDATA, MAX_RECORD_LENGTH);
+ return IOUtils.safelyClone(thumbnail, OFFSET_WMFDATA, thumbnail.length
- OFFSET_WMFDATA,
+ MAX_RECORD_LENGTH, "Thumbnail.setMaxRecordLength()");
}
}
diff --git a/poi/src/main/java/org/apache/poi/hpsf/UnicodeString.java
b/poi/src/main/java/org/apache/poi/hpsf/UnicodeString.java
index 31192220f2..552f08b62c 100644
--- a/poi/src/main/java/org/apache/poi/hpsf/UnicodeString.java
+++ b/poi/src/main/java/org/apache/poi/hpsf/UnicodeString.java
@@ -51,7 +51,8 @@ public class UnicodeString {
} catch (ArithmeticException e) {
throw new RecordFormatException("Invalid unicode length", e);
}
- _value = IOUtils.safelyAllocate(unicodeBytes,
CodePageString.getMaxRecordLength());
+ _value = IOUtils.safelyAllocate(unicodeBytes,
CodePageString.getMaxRecordLength(),
+ "CodePageString.setMaxRecordLength()");
// If Length is zero, this field MUST be zero bytes in length. If
Length is
// nonzero, this field MUST be a null-terminated array of 16-bit
Unicode characters, followed by
diff --git a/poi/src/main/java/org/apache/poi/hpsf/VariantSupport.java
b/poi/src/main/java/org/apache/poi/hpsf/VariantSupport.java
index dd3c06913c..2665480d4a 100644
--- a/poi/src/main/java/org/apache/poi/hpsf/VariantSupport.java
+++ b/poi/src/main/java/org/apache/poi/hpsf/VariantSupport.java
@@ -252,7 +252,8 @@ public class VariantSupport extends Variant {
default:
final int unpadded = lei.getReadIndex()-offset;
lei.setReadIndex(offset);
- final byte[] v = IOUtils.safelyAllocate(unpadded,
CodePageString.getMaxRecordLength());
+ final byte[] v = IOUtils.safelyAllocate(unpadded,
CodePageString.getMaxRecordLength(),
+ "CodePageString.setMaxRecordLength()");
lei.readFully( v, 0, unpadded );
throw new ReadingNotSupportedException( type, v );
}
diff --git a/test-data/poi-integration-exceptions.csv
b/test-data/poi-integration-exceptions.csv
index d70a72058d..39b9bbf3f2 100644
--- a/test-data/poi-integration-exceptions.csv
+++ b/test-data/poi-integration-exceptions.csv
@@ -404,5 +404,5 @@
slideshow/clusterfuzz-testcase-minimized-POIXSLFFuzzer-6435650376957952.pptx,han
slideshow/clusterfuzz-testcase-minimized-POIXSLFFuzzer-6435650376957952.pptx,extract,"XSLF,OPC",,java.lang.IllegalStateException,org.apache.poi.ooxml.POIXMLException,
slideshow/clusterfuzz-testcase-minimized-POIFileHandlerFuzzer-6466833057382400.emf,"handle,extract",HEMF,,org.apache.poi.util.RecordFormatException,java.lang.IllegalStateException:
Unexpected end-of-file,
slideshow/clusterfuzz-testcase-minimized-POIHSLFFuzzer-4983252485210112.ppt,"handle,additional",HPSF,,java.lang.IndexOutOfBoundsException,Block
21 not found,
-slideshow/clusterfuzz-testcase-minimized-POIHSLFFuzzer-4983252485210112.ppt,handle,HSLF,,org.apache.poi.util.RecordFormatException,Tried
to allocate an array with negative length; -1579150891 was requested.,
+slideshow/clusterfuzz-testcase-minimized-POIHSLFFuzzer-4983252485210112.ppt,handle,HSLF,,org.apache.poi.util.RecordFormatException,Tried
to allocate an array,
slideshow/clusterfuzz-testcase-minimized-POIFileHandlerFuzzer-6060921738035200.wmf,handle,HWMF,,java.lang.IllegalStateException,invalid
wmf file
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]