Rework message when reaching allocation limits

Also remove a useless Math.min() as the previous condition already
indicates which one is the smaller value

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1899708 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Dominik Stadler 2022-04-10 16:44:58 +00:00
parent 6774dd441b
commit d970319239
1 changed files with 6 additions and 11 deletions

View File

@ -63,7 +63,7 @@ public final class IOUtils {
/** /**
* The default size of the bytearray used while reading input streams. This is meant to be pretty small. * The default size of the bytearray used while reading input streams. This is meant to be pretty small.
*/ */
private static int DEFAULT_BUFFER_SIZE = 4096; private static final int DEFAULT_BUFFER_SIZE = 4096;
private IOUtils() { private IOUtils() {
// no instances of this class // no instances of this class
@ -262,7 +262,7 @@ public final class IOUtils {
final int derivedLen = Math.min(length, maxLength); final int derivedLen = Math.min(length, maxLength);
final int bufferLen = isLengthKnown ? derivedLen : Math.min(DEFAULT_BUFFER_SIZE, derivedLen); final int bufferLen = isLengthKnown ? derivedLen : Math.min(DEFAULT_BUFFER_SIZE, derivedLen);
if (MAX_BYTE_ARRAY_INIT_SIZE > 0 && bufferLen > MAX_BYTE_ARRAY_INIT_SIZE) { if (MAX_BYTE_ARRAY_INIT_SIZE > 0 && bufferLen > MAX_BYTE_ARRAY_INIT_SIZE) {
return Math.min(bufferLen, MAX_BYTE_ARRAY_INIT_SIZE); return MAX_BYTE_ARRAY_INIT_SIZE;
} }
return bufferLen; return bufferLen;
} }
@ -598,21 +598,16 @@ public final class IOUtils {
private static void throwRFE(long length, int maxLength) { private static void throwRFE(long length, int maxLength) {
throw new RecordFormatException(String.format(Locale.ROOT, "Tried to allocate an array of length %,d" + throw new RecordFormatException(String.format(Locale.ROOT, "Tried to allocate an array of length %,d" +
", but the maximum length for this record type is %,d.\n" + ", but the maximum length for this record type is %,d.\n" +
"If the file is not corrupt or large, please open an issue on bugzilla to request \n" + "If the file is not corrupt and not large, please open an issue on bugzilla to request \n" +
"increasing the maximum allowable size for this record type.\n"+ "increasing the maximum allowable size for this record type.\n"+
"As a temporary workaround, consider setting a higher override value with " + "You can set a higher override value with IOUtils.setByteArrayMaxOverride()", length, maxLength));
"IOUtils.setByteArrayMaxOverride()",
length, maxLength));
} }
private static void throwRecordTruncationException(final int maxLength) { private static void throwRecordTruncationException(final int maxLength) {
throw new RecordFormatException(String.format(Locale.ROOT, "Tried to read data but the maximum length " + throw new RecordFormatException(String.format(Locale.ROOT, "Tried to read data but the maximum length " +
"for this record type is %,d.\n" + "for this record type is %,d.\n" +
"If the file is not corrupt or large, please open an issue on bugzilla to request \n" + "If the file is not corrupt and not large, please open an issue on bugzilla to request \n" +
"increasing the maximum allowable size for this record type.\n"+ "increasing the maximum allowable size for this record type.\n"+
"As a temporary workaround, consider setting a higher override value with " + "You can set a higher override value with IOUtils.setByteArrayMaxOverride()", maxLength));
"IOUtils.setByteArrayMaxOverride()", maxLength));
} }
} }