Author: tilman
Date: Tue Apr 22 11:32:53 2025
New Revision: 1925213
URL: http://svn.apache.org/viewvc?rev=1925213&view=rev
Log:
PDFBOX-5991: prevent negative array size
Modified:
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/RandomAccessReadDataStream.java
Modified:
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/RandomAccessReadDataStream.java
URL:
http://svn.apache.org/viewvc/pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/RandomAccessReadDataStream.java?rev=1925213&r1=1925212&r2=1925213&view=diff
==============================================================================
---
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/RandomAccessReadDataStream.java
(original)
+++
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/RandomAccessReadDataStream.java
Tue Apr 22 11:32:53 2025
@@ -49,6 +49,11 @@ class RandomAccessReadDataStream extends
RandomAccessReadDataStream(RandomAccessRead randomAccessRead) throws
IOException
{
length = randomAccessRead.length();
+ if (length > Integer.MAX_VALUE - 8) //
https://www.baeldung.com/java-arrays-max-size
+ {
+ // PDFBOX-5991
+ throw new IOException("Stream is too long, size: " + length);
+ }
data = new byte[(int) length];
int remainingBytes = data.length;
int amountRead;