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 992353c8ad more method names in limit exceptions (#1121)
992353c8ad is described below
commit 992353c8ad919672723f301384c9aa24feab218e
Author: PJ Fanning <[email protected]>
AuthorDate: Fri Jun 5 17:03:05 2026 +0100
more method names in limit exceptions (#1121)
---
.../src/main/java/org/apache/poi/hslf/blip/Bitmap.java | 3 ++-
.../src/main/java/org/apache/poi/hslf/blip/DIB.java | 3 ++-
.../src/main/java/org/apache/poi/hslf/blip/EMF.java | 3 ++-
.../src/main/java/org/apache/poi/hslf/blip/PICT.java | 3 ++-
.../main/java/org/apache/poi/hslf/dev/SlideShowDumper.java | 3 ++-
.../java/org/apache/poi/hslf/record/AnimationInfoAtom.java | 3 ++-
.../src/main/java/org/apache/poi/hslf/record/CString.java | 3 ++-
.../java/org/apache/poi/hslf/record/Comment2000Atom.java | 3 ++-
.../java/org/apache/poi/hslf/record/CurrentUserAtom.java | 11 +++++++----
.../main/java/org/apache/poi/hslf/record/DocumentAtom.java | 3 ++-
.../main/java/org/apache/poi/hslf/record/ExEmbedAtom.java | 3 ++-
.../java/org/apache/poi/hslf/record/ExHyperlinkAtom.java | 3 ++-
.../main/java/org/apache/poi/hslf/record/ExMediaAtom.java | 3 ++-
.../java/org/apache/poi/hslf/record/ExObjListAtom.java | 3 ++-
.../main/java/org/apache/poi/hslf/record/ExOleObjAtom.java | 14 ++++++++++++--
.../main/java/org/apache/poi/hslf/record/ExOleObjStg.java | 3 ++-
.../java/org/apache/poi/hslf/record/FontEmbeddedData.java | 3 ++-
.../java/org/apache/poi/hslf/record/FontEntityAtom.java | 3 ++-
.../apache/poi/hslf/record/HSLFEscherClientDataRecord.java | 3 ++-
.../org/apache/poi/hslf/record/HeadersFootersAtom.java | 3 ++-
.../org/apache/poi/hslf/record/InteractiveInfoAtom.java | 3 ++-
.../org/apache/poi/hslf/record/MasterTextPropAtom.java | 6 ++++--
.../main/java/org/apache/poi/hslf/record/NotesAtom.java | 3 ++-
.../main/java/org/apache/poi/hslf/record/PPDrawing.java | 5 +++--
.../java/org/apache/poi/hslf/record/PPDrawingGroup.java | 13 +++++++++++--
.../java/org/apache/poi/hslf/record/PersistPtrHolder.java | 3 ++-
.../main/java/org/apache/poi/hslf/record/SlideAtom.java | 3 ++-
.../main/java/org/apache/poi/hslf/record/SoundData.java | 3 ++-
.../org/apache/poi/hslf/record/StyleTextProp9Atom.java | 3 ++-
.../java/org/apache/poi/hslf/record/StyleTextPropAtom.java | 6 ++++--
.../java/org/apache/poi/hslf/record/TextBytesAtom.java | 3 ++-
.../java/org/apache/poi/hslf/record/TextCharsAtom.java | 6 ++++--
.../java/org/apache/poi/hslf/record/TextRulerAtom.java | 4 ++--
.../java/org/apache/poi/hslf/record/TextSpecInfoAtom.java | 3 ++-
.../java/org/apache/poi/hslf/record/TextSpecInfoRun.java | 3 ++-
.../org/apache/poi/hslf/record/TxInteractiveInfoAtom.java | 3 ++-
.../java/org/apache/poi/hslf/record/TxMasterStyleAtom.java | 3 ++-
.../apache/poi/hslf/record/UnknownRecordPlaceholder.java | 14 ++++++++++++--
.../java/org/apache/poi/hslf/usermodel/HSLFSlideShow.java | 3 ++-
.../org/apache/poi/hslf/usermodel/HSLFSlideShowImpl.java | 3 ++-
40 files changed, 121 insertions(+), 51 deletions(-)
diff --git a/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/Bitmap.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/Bitmap.java
index e143e5e040..38f913a775 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/Bitmap.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/Bitmap.java
@@ -63,7 +63,8 @@ public abstract class Bitmap extends HSLFPictureData {
protected byte[] formatImageForSlideshow(byte[] data) {
byte[] checksum = getChecksum(data);
long rawDataSize = calcRawDataSize(getUIDInstanceCount(),
checksum.length, data.length);
- byte[] rawData = IOUtils.safelyAllocate(rawDataSize,
RecordAtom.getMaxRecordLength());
+ byte[] rawData = IOUtils.safelyAllocate(rawDataSize,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
int offset = 0;
System.arraycopy(checksum, 0, rawData, offset, checksum.length);
diff --git a/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/DIB.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/DIB.java
index deb91740b2..c1f49eca31 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/DIB.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/DIB.java
@@ -103,7 +103,8 @@ public final class DIB extends Bitmap {
LittleEndian.putInt(header, 10, offset);
//DIB data is the header + dib bytes
- byte[] dib = IOUtils.safelyAllocate(header.length + (long)data.length,
RecordAtom.getMaxRecordLength());
+ byte[] dib = IOUtils.safelyAllocate(header.length + (long)data.length,
+ RecordAtom.getMaxRecordLength(),
"RecordAtom.setMaxRecordLength()");
System.arraycopy(header, 0, dib, 0, header.length);
System.arraycopy(data, 0, dib, header.length, data.length);
diff --git a/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/EMF.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/EMF.java
index 3aea2c05de..c727c2dc79 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/EMF.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/EMF.java
@@ -98,7 +98,8 @@ public final class EMF extends Metafile {
byte[] checksum = getChecksum(data);
long rawDataSize = calcRawDataSize(getUIDInstanceCount(),
checksum.length, header.getSize(), compressed.length);
- byte[] rawData = IOUtils.safelyAllocate(rawDataSize,
getMaxRecordLength());
+ byte[] rawData = IOUtils.safelyAllocate(rawDataSize,
Metafile.getMaxRecordLength(),
+ "Metafile.setMaxRecordLength()");
int offset = 0;
System.arraycopy(checksum, 0, rawData, offset, checksum.length);
diff --git a/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/PICT.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/PICT.java
index f7ee779e60..03540a2bf5 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/PICT.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/blip/PICT.java
@@ -144,7 +144,8 @@ public final class PICT extends Metafile {
byte[] checksum = getChecksum(data);
long rawDataSize = calcRawDataSize(getUIDInstanceCount(),
checksum.length, header.getSize(), compressed.length);
- byte[] rawData = IOUtils.safelyAllocate(rawDataSize,
getMaxRecordLength());
+ byte[] rawData = IOUtils.safelyAllocate(rawDataSize,
Metafile.getMaxRecordLength(),
+ "Metafile.setMaxRecordLength()");
int offset = 0;
System.arraycopy(checksum, 0, rawData, offset, checksum.length);
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/dev/SlideShowDumper.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/dev/SlideShowDumper.java
index cbaa53c824..141f47d8c8 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/dev/SlideShowDumper.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/dev/SlideShowDumper.java
@@ -238,7 +238,8 @@ public final class SlideShowDumper {
final String ind = (indent == 0) ? "%1$s" : "%1$" + indent + "s";
- byte[] contents = IOUtils.safelyClone(docstream, pos, len,
MAX_RECORD_LENGTH);
+ byte[] contents = IOUtils.safelyClone(docstream, pos, len,
MAX_RECORD_LENGTH,
+ "SlideShowDumper.setMaxRecordLength()");
DefaultEscherRecordFactory erf = new HSLFEscherRecordFactory();
EscherRecord record = erf.createRecord(contents, 0);
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/AnimationInfoAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/AnimationInfoAtom.java
index e686ab0ca4..affd5b7d36 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/AnimationInfoAtom.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/AnimationInfoAtom.java
@@ -124,7 +124,8 @@ public final class AnimationInfoAtom extends RecordAtom {
_header = Arrays.copyOfRange(source, start, start+8);
// Grab the record data
- _recdata = IOUtils.safelyClone(source,start+8, len-8,
getMaxRecordLength());
+ _recdata = IOUtils.safelyClone(source,start+8, len-8,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
}
/**
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/CString.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/CString.java
index 0edd3cd95e..e8f5930f20 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/CString.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/CString.java
@@ -85,7 +85,8 @@ public final class CString extends RecordAtom {
_header = Arrays.copyOfRange(source, start, start+8);
// Grab the text
- _text = IOUtils.safelyClone(source,start+8, len-8,
getMaxRecordLength());
+ _text = IOUtils.safelyClone(source,start+8, len-8,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
}
/**
* Create an empty CString
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/Comment2000Atom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/Comment2000Atom.java
index 1d984d6e19..b2567217ae 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/Comment2000Atom.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/Comment2000Atom.java
@@ -70,7 +70,8 @@ public final class Comment2000Atom extends RecordAtom {
_header = Arrays.copyOfRange(source, start, start+8);
// Get the record data.
- _data = IOUtils.safelyClone(source, start+8, len-8,
getMaxRecordLength());
+ _data = IOUtils.safelyClone(source, start+8, len-8,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
}
/**
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/CurrentUserAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/CurrentUserAtom.java
index aca49a6ad0..4644366a6b 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/CurrentUserAtom.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/CurrentUserAtom.java
@@ -134,7 +134,7 @@ public class CurrentUserAtom {
// Grab the contents
try (InputStream in = dir.createDocumentInputStream("Current User")) {
- _contents = IOUtils.toByteArray(in, docProps.getSize(),
getMaxRecordLength());
+ _contents = IOUtils.toByteArray(in, docProps.getSize(),
RecordAtom.getMaxRecordLength());
}
// See how long it is. If it's under 28 bytes long, we can't
@@ -214,7 +214,8 @@ public class CurrentUserAtom {
// 4 = revision
// 3 * len = ascii + unicode
int size = 8 + 20 + 4 + (3 * lastEditUser.length());
- _contents = IOUtils.safelyAllocate(size, getMaxRecordLength());
+ _contents = IOUtils.safelyAllocate(size,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
// First we have a 8 byte atom header
System.arraycopy(atomHeader,0,_contents,0,4);
@@ -233,7 +234,8 @@ public class CurrentUserAtom {
// The username gets stored twice, once as US
// ascii, and again as unicode laster on
- byte[] asciiUN = IOUtils.safelyAllocate(lastEditUser.length(),
getMaxRecordLength());
+ byte[] asciiUN = IOUtils.safelyAllocate(lastEditUser.length(),
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
StringUtil.putCompressedUnicode(lastEditUser,asciiUN,0);
// Now we're able to do the length of the last edited user
@@ -255,7 +257,8 @@ public class CurrentUserAtom {
LittleEndian.putInt(_contents,28+asciiUN.length,(int)releaseVersion);
// username in unicode
- byte [] ucUN = IOUtils.safelyAllocate(lastEditUser.length() * 2L,
getMaxRecordLength());
+ byte [] ucUN = IOUtils.safelyAllocate(lastEditUser.length() * 2L,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
StringUtil.putUnicodeLE(lastEditUser,ucUN,0);
System.arraycopy(ucUN,0,_contents,28+asciiUN.length+4,ucUN.length);
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/DocumentAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/DocumentAtom.java
index e24d932d4d..d517a6f160 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/DocumentAtom.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/DocumentAtom.java
@@ -178,7 +178,8 @@ public final class DocumentAtom extends RecordAtom {
showComments = leis.readByte();
// If there's any other bits of data, keep them about
- reserved = IOUtils.safelyAllocate(maxLen-48L, getMaxRecordLength());
+ reserved = IOUtils.safelyAllocate(maxLen-48L,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
leis.readFully(reserved);
}
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExEmbedAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExEmbedAtom.java
index de06c9c99c..c0d4362bf7 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExEmbedAtom.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExEmbedAtom.java
@@ -93,7 +93,8 @@ public class ExEmbedAtom extends RecordAtom {
_header = Arrays.copyOfRange(source, start, start+8);
// Get the record data.
- _data = IOUtils.safelyClone(source,start+8,len-8,
getMaxRecordLength());
+ _data = IOUtils.safelyClone(source,start+8,len-8,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
// Must be at least 8 bytes long
if(_data.length < 8) {
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExHyperlinkAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExHyperlinkAtom.java
index 6829c36814..9067436d9f 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExHyperlinkAtom.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExHyperlinkAtom.java
@@ -69,7 +69,8 @@ public final class ExHyperlinkAtom extends RecordAtom {
_header = Arrays.copyOfRange(source, start, start+8);
// Get the record data.
- _data = IOUtils.safelyClone(source, start+8, len-8,
getMaxRecordLength());
+ _data = IOUtils.safelyClone(source, start+8, len-8,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
// Must be at least 4 bytes long
if(_data.length < 4) {
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExMediaAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExMediaAtom.java
index 46dedd9f96..5b34ece799 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExMediaAtom.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExMediaAtom.java
@@ -88,7 +88,8 @@ public final class ExMediaAtom extends RecordAtom {
_header = Arrays.copyOfRange(source, start, start+8);
// Grab the record data
- _recdata = IOUtils.safelyClone(source,start+8, len-8,
getMaxRecordLength());
+ _recdata = IOUtils.safelyClone(source,start+8, len-8,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
}
/**
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExObjListAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExObjListAtom.java
index 3bf3a006a3..70d3d6645a 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExObjListAtom.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExObjListAtom.java
@@ -70,7 +70,8 @@ public class ExObjListAtom extends RecordAtom{
_header = Arrays.copyOfRange(source, start, start+8);
// Get the record data.
- _data = IOUtils.safelyClone(source, start+8, len-8,
getMaxRecordLength());
+ _data = IOUtils.safelyClone(source, start+8, len-8,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
// Must be at least 4 bytes long
if(_data.length < 4) {
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExOleObjAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExOleObjAtom.java
index 5906eca9c0..43c869e928 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExOleObjAtom.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExOleObjAtom.java
@@ -107,7 +107,16 @@ public class ExOleObjAtom extends RecordAtom {
};
//arbitrarily selected; may need to increase
- private static final int MAX_RECORD_LENGTH = 10_485_760;
+ private static final int DEFAULT_MAX_RECORD_LENGTH = 10_485_760;
+ private static int MAX_RECORD_LENGTH = DEFAULT_MAX_RECORD_LENGTH;
+
+ public static void setMaxRecordLength(int maxRecordLength) {
+ MAX_RECORD_LENGTH = maxRecordLength;
+ }
+
+ public static int getMaxRecordLength() {
+ return MAX_RECORD_LENGTH;
+ }
/**
* The object) is displayed as an embedded object inside of a container,
@@ -191,7 +200,8 @@ public class ExOleObjAtom extends RecordAtom {
_header = Arrays.copyOfRange(source, start, start+8);
// Get the record data.
- _data = IOUtils.safelyClone(source, start+8, len-8, MAX_RECORD_LENGTH);
+ _data = IOUtils.safelyClone(source, start+8, len-8, MAX_RECORD_LENGTH,
+ "ExOleObjAtom.setMaxRecordLength()");
// Must be at least 24 bytes long
if(_data.length < 24) {
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExOleObjStg.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExOleObjStg.java
index 566686581c..df57d88ea3 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExOleObjStg.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExOleObjStg.java
@@ -95,7 +95,8 @@ public class ExOleObjStg extends PositionDependentRecordAtom
implements PersistR
_header = Arrays.copyOfRange(source, start, start+8);
// Get the record data.
- _data = IOUtils.safelyClone(source, start+8, len-8, MAX_RECORD_LENGTH);
+ _data = IOUtils.safelyClone(source, start+8, len-8, MAX_RECORD_LENGTH,
+ "ExOleObjStg.setMaxRecordLength()");
}
public boolean isCompressed() {
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/FontEmbeddedData.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/FontEmbeddedData.java
index 155344d2bd..c4a9e21cf1 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/FontEmbeddedData.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/FontEmbeddedData.java
@@ -87,7 +87,8 @@ public class FontEmbeddedData extends RecordAtom implements
FontFacet {
_header = Arrays.copyOfRange(source, start, start+8);
// Get the record data.
- _data = IOUtils.safelyClone(source, start+8, len-8, MAX_RECORD_LENGTH);
+ _data = IOUtils.safelyClone(source, start+8, len-8, MAX_RECORD_LENGTH,
+ "FontEmbeddedData.setMaxRecordLength()");
// Must be at least 4 bytes long
if(_data.length < 4) {
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/FontEntityAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/FontEntityAtom.java
index f172611896..72a6f13d63 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/FontEntityAtom.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/FontEntityAtom.java
@@ -72,7 +72,8 @@ public final class FontEntityAtom extends RecordAtom {
_header = Arrays.copyOfRange(source, start, start+8);
// Grab the record data
- _recdata = IOUtils.safelyClone(source, start+8, len-8,
getMaxRecordLength());
+ _recdata = IOUtils.safelyClone(source, start+8, len-8,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
}
/**
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/HSLFEscherClientDataRecord.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/HSLFEscherClientDataRecord.java
index 7217d8b982..3234b711d9 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/HSLFEscherClientDataRecord.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/HSLFEscherClientDataRecord.java
@@ -65,7 +65,8 @@ public class HSLFEscherClientDataRecord extends
EscherClientDataRecord {
@Override
public int fillFields(byte[] data, int offset, EscherRecordFactory
recordFactory) {
int bytesRemaining = readHeader( data, offset );
- byte[] remainingData = IOUtils.safelyClone(data, offset+8,
bytesRemaining, RecordAtom.getMaxRecordLength());
+ byte[] remainingData = IOUtils.safelyClone(data, offset+8,
bytesRemaining, RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
setRemainingData(remainingData);
return bytesRemaining + 8;
}
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/HeadersFootersAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/HeadersFootersAtom.java
index 25d2b39913..a78bc082e4 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/HeadersFootersAtom.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/HeadersFootersAtom.java
@@ -116,7 +116,8 @@ public final class HeadersFootersAtom extends RecordAtom {
_header = Arrays.copyOfRange(source, start, start+8);
// Grab the record data
- _recdata = IOUtils.safelyClone(source, start+8, len-8,
getMaxRecordLength());
+ _recdata = IOUtils.safelyClone(source, start+8, len-8,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
}
/**
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/InteractiveInfoAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/InteractiveInfoAtom.java
index d95a55ede9..b29c35e04d 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/InteractiveInfoAtom.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/InteractiveInfoAtom.java
@@ -151,7 +151,8 @@ public class InteractiveInfoAtom extends RecordAtom {
_header = Arrays.copyOfRange(source, start, start+8);
// Get the record data.
- _data = IOUtils.safelyClone(source, start+8, len-8,
getMaxRecordLength());
+ _data = IOUtils.safelyClone(source, start+8, len-8,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
// Must be at least 16 bytes long
if(_data.length < 16) {
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/MasterTextPropAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/MasterTextPropAtom.java
index a6065e3e24..a9ec4b044b 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/MasterTextPropAtom.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/MasterTextPropAtom.java
@@ -93,7 +93,8 @@ public final class MasterTextPropAtom extends RecordAtom {
_header = Arrays.copyOfRange(source, start, start+8);
// Get the record data.
- _data = IOUtils.safelyClone(source, start+8, len-8, MAX_RECORD_LENGTH);
+ _data = IOUtils.safelyClone(source, start+8, len-8, MAX_RECORD_LENGTH,
+ "MasterTextPropAtom.setMaxRecordLength()");
try {
read();
@@ -132,7 +133,8 @@ public final class MasterTextPropAtom extends RecordAtom {
private void write() {
int pos = 0;
long newSize = Math.multiplyExact((long)indents.size(), (long)6);
- _data = IOUtils.safelyAllocate(newSize, MAX_RECORD_LENGTH);
+ _data = IOUtils.safelyAllocate(newSize, MAX_RECORD_LENGTH,
+ "MasterTextPropAtom.setMaxRecordLength()");
for (IndentProp prop : indents) {
LittleEndian.putInt(_data, pos, prop.getCharactersCovered());
LittleEndian.putShort(_data, pos+4, (short)prop.getIndentLevel());
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/NotesAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/NotesAtom.java
index b4239d4fdd..7f706a4e5e 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/NotesAtom.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/NotesAtom.java
@@ -77,7 +77,8 @@ public final class NotesAtom extends RecordAtom {
followMasterObjects = (flags & 1) == 1;
// There might be 2 more bytes, which are a reserved field
- reserved = IOUtils.safelyClone(source, start+14, len-14,
getMaxRecordLength());
+ reserved = IOUtils.safelyClone(source, start+14, len-14,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
}
/**
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PPDrawing.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PPDrawing.java
index 886468362e..4f1a8fdecd 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PPDrawing.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PPDrawing.java
@@ -46,8 +46,8 @@ import org.apache.poi.ddf.EscherSpRecord;
import org.apache.poi.ddf.EscherSpgrRecord;
import org.apache.poi.ddf.EscherTextboxRecord;
import org.apache.poi.sl.usermodel.ShapeType;
+import org.apache.poi.util.ArrayUtil;
import org.apache.poi.util.GenericRecordUtil;
-import org.apache.poi.util.IOUtils;
import org.apache.poi.util.LittleEndian;
/**
@@ -218,7 +218,8 @@ public final class PPDrawing extends RecordAtom implements
Iterable<EscherRecord
// Now grab the children's data, but fail if it tries to allocate
// too much
- byte[] b = IOUtils.safelyAllocate(newSize, MAX_RECORD_SIZE);
+ ArrayUtil.strictAllocateCheck(newSize, MAX_RECORD_SIZE);
+ byte[] b = new byte[newSize];
int done = 0;
dgContainer.serialize(done, b);
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PPDrawingGroup.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PPDrawingGroup.java
index 08ab371e63..fd4d65d28d 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PPDrawingGroup.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PPDrawingGroup.java
@@ -41,8 +41,16 @@ import org.apache.poi.util.LittleEndian;
public final class PPDrawingGroup extends RecordAtom {
//arbitrarily selected; may need to increase
- private static final int MAX_RECORD_LENGTH = 10_485_760;
+ private static final int DEFAULT_MAX_RECORD_LENGTH = 10_485_760;
+ private static int MAX_RECORD_LENGTH = DEFAULT_MAX_RECORD_LENGTH;
+ public static void setMaxRecordLength(int length) {
+ MAX_RECORD_LENGTH = length;
+ }
+
+ public static int getMaxRecordLength() {
+ return MAX_RECORD_LENGTH;
+ }
private final byte[] _header;
private final EscherContainerRecord dggContainer;
@@ -54,7 +62,8 @@ public final class PPDrawingGroup extends RecordAtom {
_header = Arrays.copyOfRange(source, start, start+8);
// Get the contents for now
- byte[] contents = IOUtils.safelyClone(source, start, len,
MAX_RECORD_LENGTH);
+ byte[] contents = IOUtils.safelyClone(source, start, len,
MAX_RECORD_LENGTH,
+ "PPDrawingGroup.setMaxRecordLength()");
DefaultEscherRecordFactory erf = new HSLFEscherRecordFactory();
EscherRecord child = erf.createRecord(contents, 0);
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PersistPtrHolder.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PersistPtrHolder.java
index 29697716cf..aecdb52e16 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PersistPtrHolder.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PersistPtrHolder.java
@@ -109,7 +109,8 @@ public final class PersistPtrHolder extends
PositionDependentRecordAtom {
// count * 32 bit offsets
// Repeat as many times as you have data
_slideLocations = new HashMap<>();
- _ptrData = IOUtils.safelyClone(source, start+8, len-8,
RecordAtom.getMaxRecordLength());
+ _ptrData = IOUtils.safelyClone(source, start+8, len-8,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
int pos = 0;
while(pos < _ptrData.length) {
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/SlideAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/SlideAtom.java
index 72b612d384..865463d577 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/SlideAtom.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/SlideAtom.java
@@ -100,7 +100,8 @@ public final class SlideAtom extends RecordAtom {
// If there's any other bits of data, keep them about
// 8 bytes header + 20 bytes to flags + 2 bytes flags = 30 bytes
- reserved = IOUtils.safelyClone(source,start+30, len-30,
getMaxRecordLength());
+ reserved = IOUtils.safelyClone(source,start+30, len-30,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
}
/**
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/SoundData.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/SoundData.java
index 57561abd3e..552b17f699 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/SoundData.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/SoundData.java
@@ -85,7 +85,8 @@ public final class SoundData extends RecordAtom {
_header = Arrays.copyOfRange(source, start, start+8);
// Get the record data.
- _data = IOUtils.safelyClone(source, start+8, len-8, MAX_RECORD_LENGTH);
+ _data = IOUtils.safelyClone(source, start+8, len-8, MAX_RECORD_LENGTH,
+ "SoundData.setMaxRecordLength()");
}
/**
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/StyleTextProp9Atom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/StyleTextProp9Atom.java
index 3878057cae..220f921bed 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/StyleTextProp9Atom.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/StyleTextProp9Atom.java
@@ -79,7 +79,8 @@ public final class StyleTextProp9Atom extends RecordAtom {
this.length = LittleEndian.getInt(header, 4);
// Get the record data.
- data = IOUtils.safelyClone(source, start+8, len-8, MAX_RECORD_LENGTH);
+ data = IOUtils.safelyClone(source, start+8, len-8, MAX_RECORD_LENGTH,
+ "StyleTextProp9Atom.setMaxRecordLength()");
for (int i = 0; i < data.length; ) {
final TextPFException9 item = new TextPFException9(data, i);
schemes.add(item);
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/StyleTextPropAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/StyleTextPropAtom.java
index eb683b42aa..dd22424c24 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/StyleTextPropAtom.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/StyleTextPropAtom.java
@@ -134,7 +134,8 @@ public final class StyleTextPropAtom extends RecordAtom {
// Save the contents of the atom, until we're asked to go and
// decode them (via a call to setParentTextSize(int)
- rawContents = IOUtils.safelyClone(source, start+8, len-8,
getMaxRecordLength());
+ rawContents = IOUtils.safelyClone(source, start+8, len-8,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
reserved = new byte[0];
// Set empty lists, ready for when they call setParentTextSize
@@ -399,7 +400,8 @@ public final class StyleTextPropAtom extends RecordAtom {
out.append(" original byte stream \n");
- byte[] buf = IOUtils.safelyAllocate(rawContents.length +
(long)reserved.length, getMaxRecordLength());
+ byte[] buf = IOUtils.safelyAllocate(rawContents.length +
(long)reserved.length, RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
System.arraycopy(rawContents, 0, buf, 0, rawContents.length);
System.arraycopy(reserved, 0, buf, rawContents.length,
reserved.length);
out.append( HexDump.dump(buf, 0, 0) );
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextBytesAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextBytesAtom.java
index 4ea4e767e9..06cb72e25d 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextBytesAtom.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextBytesAtom.java
@@ -71,7 +71,8 @@ public final class TextBytesAtom extends RecordAtom {
_header = Arrays.copyOfRange(source, start, start+8);
// Grab the text
- _text = IOUtils.safelyClone(source, start+8, len-8,
getMaxRecordLength());
+ _text = IOUtils.safelyClone(source, start+8, len-8,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
}
/**
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextCharsAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextCharsAtom.java
index fdc973935d..302511674e 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextCharsAtom.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextCharsAtom.java
@@ -50,7 +50,8 @@ public final class TextCharsAtom extends RecordAtom {
/** Updates the text in the Atom. */
public void setText(String text) {
// Convert to little endian unicode
- _text = IOUtils.safelyAllocate(text.length() * 2L,
getMaxRecordLength());
+ _text = IOUtils.safelyAllocate(text.length() * 2L,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
StringUtil.putUnicodeLE(text,_text,0);
// Update the size (header bytes 5-8)
@@ -70,7 +71,8 @@ public final class TextCharsAtom extends RecordAtom {
_header = Arrays.copyOfRange(source, start, start+8);
// Grab the text
- _text = IOUtils.safelyClone(source, start+8, len-8,
getMaxRecordLength());
+ _text = IOUtils.safelyClone(source, start+8, len-8,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
}
/**
* Create an empty TextCharsAtom
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextRulerAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextRulerAtom.java
index df9db94f86..fcfaead791 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextRulerAtom.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextRulerAtom.java
@@ -84,8 +84,8 @@ public final class TextRulerAtom extends RecordAtom {
* @param len the length of the slice in the byte array.
*/
TextRulerAtom(final byte[] source, final int start, final int len) {
- final LittleEndianByteArrayInputStream leis = new
LittleEndianByteArrayInputStream(source, start, Math.min(len,
getMaxRecordLength()));
-
+ final LittleEndianByteArrayInputStream leis = new
LittleEndianByteArrayInputStream(
+ source, start, Math.min(len, getMaxRecordLength()));
try {
// Get the header.
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextSpecInfoAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextSpecInfoAtom.java
index 01f3dc9d8e..2734367083 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextSpecInfoAtom.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextSpecInfoAtom.java
@@ -72,7 +72,8 @@ public final class TextSpecInfoAtom extends RecordAtom {
_header = Arrays.copyOfRange(source, start, start+8);
// Get the record data.
- _data = IOUtils.safelyClone(source, start+8, len-8,
getMaxRecordLength());
+ _data = IOUtils.safelyClone(source, start+8, len-8,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
}
/**
* Gets the record type.
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextSpecInfoRun.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextSpecInfoRun.java
index c42e5349d4..7f22e048f9 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextSpecInfoRun.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextSpecInfoRun.java
@@ -173,7 +173,8 @@ public class TextSpecInfoRun implements GenericRecord {
if (smartTagFld.isSet(mask)) {
// An unsigned integer specifies the count of items in
rgSmartTagIndex.
int count = source.readInt();
- smartTagsBytes = IOUtils.safelyAllocate(4 + count * 4L,
RecordAtom.getMaxRecordLength());
+ smartTagsBytes = IOUtils.safelyAllocate(4 + count * 4L,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
LittleEndian.putInt(smartTagsBytes, 0, count);
// An array of SmartTagIndex that specifies the indices.
// The count of items in the array is specified by count.
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TxInteractiveInfoAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TxInteractiveInfoAtom.java
index 5577ea2311..a6e9384714 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TxInteractiveInfoAtom.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TxInteractiveInfoAtom.java
@@ -66,7 +66,8 @@ public final class TxInteractiveInfoAtom extends RecordAtom {
_header = Arrays.copyOfRange(source, start, start+8);
// Get the record data.
- _data = IOUtils.safelyClone(source, start+8, len-8,
getMaxRecordLength());
+ _data = IOUtils.safelyClone(source, start+8, len-8,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
}
/**
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TxMasterStyleAtom.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TxMasterStyleAtom.java
index 9f966939af..2e8fdc2bbf 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TxMasterStyleAtom.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TxMasterStyleAtom.java
@@ -71,7 +71,8 @@ public final class TxMasterStyleAtom extends RecordAtom {
protected TxMasterStyleAtom(byte[] source, int start, int len) {
_header = Arrays.copyOfRange(source, start, start+8);
- _data = IOUtils.safelyClone(source, start+8, len-8,
getMaxRecordLength());
+ _data = IOUtils.safelyClone(source, start+8, len-8,
RecordAtom.getMaxRecordLength(),
+ "RecordAtom.setMaxRecordLength()");
//read available styles
try {
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/UnknownRecordPlaceholder.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/UnknownRecordPlaceholder.java
index 620d600b75..2664b6c921 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/UnknownRecordPlaceholder.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/UnknownRecordPlaceholder.java
@@ -37,7 +37,16 @@ public final class UnknownRecordPlaceholder extends
RecordAtom
{
//arbitrarily selected; may need to increase
- private static final int MAX_RECORD_LENGTH = 20_000_000;
+ private static final int DEFAULT_MAX_RECORD_LENGTH = 20_000_000;
+ private static int MAX_RECORD_LENGTH = DEFAULT_MAX_RECORD_LENGTH;
+
+ public static void setMaxRecordLength(int length) {
+ MAX_RECORD_LENGTH = length;
+ }
+
+ public static int getMaxRecordLength() {
+ return MAX_RECORD_LENGTH;
+ }
private byte[] _contents;
private long _type;
@@ -51,7 +60,8 @@ public final class UnknownRecordPlaceholder extends RecordAtom
if(len < 0) { len = 0; }
// Treat as an atom, grab and hold everything
- _contents = IOUtils.safelyClone(source, start, len, MAX_RECORD_LENGTH);
+ _contents = IOUtils.safelyClone(source, start, len, MAX_RECORD_LENGTH,
+ "UnknownRecordPlaceholder.setMaxRecordLength()");
_type = LittleEndian.getUShort(_contents,2);
}
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/usermodel/HSLFSlideShow.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/usermodel/HSLFSlideShow.java
index 283b8d6359..c374021e0c 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/usermodel/HSLFSlideShow.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/usermodel/HSLFSlideShow.java
@@ -912,7 +912,8 @@ public final class HSLFSlideShow extends POIDocument
implements SlideShow<HSLFSh
if (format == null || format.nativeId == -1) { // fail early
throw new IllegalArgumentException("Unsupported picture format: "
+ format);
}
- byte[] data = IOUtils.safelyAllocate(pict.length(), MAX_RECORD_LENGTH);
+ byte[] data = IOUtils.safelyAllocate(pict.length(), MAX_RECORD_LENGTH,
+ "HSLFSlideShow.setMaxRecordLength()");
try (InputStream is = Files.newInputStream(pict.toPath())) {
IOUtils.readFully(is, data);
}
diff --git
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/usermodel/HSLFSlideShowImpl.java
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/usermodel/HSLFSlideShowImpl.java
index 2bad0a7aa2..a4f3358f07 100644
---
a/poi-scratchpad/src/main/java/org/apache/poi/hslf/usermodel/HSLFSlideShowImpl.java
+++
b/poi-scratchpad/src/main/java/org/apache/poi/hslf/usermodel/HSLFSlideShowImpl.java
@@ -536,7 +536,8 @@ public final class HSLFSlideShowImpl extends POIDocument
implements Closeable {
}
// Copy the data, ready to pass to PictureData
- byte[] imgdata = IOUtils.safelyClone(pictstream, pos,
imgsize, MAX_RECORD_LENGTH);
+ byte[] imgdata = IOUtils.safelyClone(pictstream, pos,
imgsize, MAX_RECORD_LENGTH,
+ "HSLFSlideShowImpl.setMaxRecordLength()");
factories.add(new PictureFactory(blipStore, pt, imgdata,
offset, signature));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]