Author: fanningpj
Date: Sat Feb 19 22:13:26 2022
New Revision: 1898237
URL: http://svn.apache.org/viewvc?rev=1898237&view=rev
Log:
add extra max size config
Modified:
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFChart.java
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFComments.java
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFPictureData.java
Modified:
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFChart.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFChart.java?rev=1898237&r1=1898236&r2=1898237&view=diff
==============================================================================
---
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFChart.java
(original)
+++
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFChart.java
Sat Feb 19 22:13:26 2022
@@ -94,7 +94,7 @@ public class XWPFChart extends XDDFChart
if (this.checksum == null) {
byte[] data;
try (InputStream is = getPackagePart().getInputStream()) {
- data = IOUtils.toByteArray(is);
+ data = IOUtils.toByteArray(is,
XWPFPictureData.getMaxImageSize());
} catch (IOException e) {
throw new POIXMLException(e);
}
Modified:
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFComments.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFComments.java?rev=1898237&r1=1898236&r2=1898237&view=diff
==============================================================================
---
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFComments.java
(original)
+++
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFComments.java
Sat Feb 19 22:13:26 2022
@@ -107,7 +107,7 @@ public class XWPFComments extends POIXML
* @throws IOException If reading the picture-data from the
stream fails.
*/
public String addPictureData(InputStream is, int format) throws
InvalidFormatException, IOException {
- byte[] data = IOUtils.toByteArray(is);
+ byte[] data = IOUtils.toByteArray(is,
XWPFPictureData.getMaxImageSize());
return addPictureData(data, format);
}
Modified:
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java?rev=1898237&r1=1898236&r2=1898237&view=diff
==============================================================================
---
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
(original)
+++
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
Sat Feb 19 22:13:26 2022
@@ -1520,7 +1520,7 @@ public class XWPFDocument extends POIXML
public String addPictureData(InputStream is, int format) throws
InvalidFormatException {
try {
- byte[] data = IOUtils.toByteArray(is);
+ byte[] data = IOUtils.toByteArray(is,
XWPFPictureData.getMaxImageSize());
return addPictureData(data, format);
} catch (IOException e) {
throw new POIXMLException(e);
Modified:
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java?rev=1898237&r1=1898236&r2=1898237&view=diff
==============================================================================
---
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java
(original)
+++
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java
Sat Feb 19 22:13:26 2022
@@ -279,7 +279,7 @@ public abstract class XWPFHeaderFooter e
* @throws IOException If reading the picture-data from the stream fails.
*/
public String addPictureData(InputStream is, int format) throws
InvalidFormatException, IOException {
- byte[] data = IOUtils.toByteArray(is);
+ byte[] data = IOUtils.toByteArray(is,
XWPFPictureData.getMaxImageSize());
return addPictureData(data, format);
}
Modified:
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFPictureData.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFPictureData.java?rev=1898237&r1=1898236&r2=1898237&view=diff
==============================================================================
---
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFPictureData.java
(original)
+++
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFPictureData.java
Sat Feb 19 22:13:26 2022
@@ -34,6 +34,23 @@ import org.apache.poi.util.IOUtils;
*/
public class XWPFPictureData extends POIXMLDocumentPart {
+ private static final int DEFAULT_MAX_IMAGE_SIZE = 100_000_000;
+ private static int MAX_IMAGE_SIZE = DEFAULT_MAX_IMAGE_SIZE;
+
+ /**
+ * @param length the max image size allowed for XSSF pictures
+ */
+ public static void setMaxImageSize(int length) {
+ MAX_IMAGE_SIZE = length;
+ }
+
+ /**
+ * @return the max image size allowed for XSSF pictures
+ */
+ public static int getMaxImageSize() {
+ return MAX_IMAGE_SIZE;
+ }
+
/**
* Relationships for each known picture type
*/
@@ -94,7 +111,7 @@ public class XWPFPictureData extends POI
*/
public byte[] getData() {
try (InputStream stream = getPackagePart().getInputStream()) {
- return IOUtils.toByteArray(stream);
+ return IOUtils.toByteArray(stream, getMaxImageSize());
} catch (IOException e) {
throw new POIXMLException(e);
}
@@ -146,15 +163,11 @@ public class XWPFPictureData extends POI
public Long getChecksum() {
if (this.checksum == null) {
- InputStream is = null;
byte[] data;
- try {
- is = getPackagePart().getInputStream();
- data = IOUtils.toByteArray(is);
+ try (InputStream is = getPackagePart().getInputStream()) {
+ data = IOUtils.toByteArray(is, getMaxImageSize());
} catch (IOException e) {
throw new POIXMLException(e);
- } finally {
- IOUtils.closeQuietly(is);
}
this.checksum = IOUtils.calculateChecksum(data);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]