Author: fanningpj
Date: Sat Feb 19 21:06:01 2022
New Revision: 1898233

URL: http://svn.apache.org/viewvc?rev=1898233&view=rev
Log:
add extra max size config

Modified:
    
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java
    
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
    poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/util/PPTHandler.java

Modified: 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java?rev=1898233&r1=1898232&r2=1898233&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/dsig/services/TSPTimeStampService.java
 Sat Feb 19 21:06:01 2022
@@ -81,6 +81,19 @@ public class TSPTimeStampService impleme
 
     private static final Logger LOG = 
LogManager.getLogger(TSPTimeStampService.class);
 
+    // how large a timestamp response is expected to be
+    // can be overwritten via IOUtils.setByteArrayMaxOverride()
+    private static final int DEFAULT_TIMESTAMP_RESPONSE_SIZE = 10_000_000;
+    private static int MAX_TIMESTAMP_RESPONSE_SIZE = 
DEFAULT_TIMESTAMP_RESPONSE_SIZE;
+
+    public static void setMaxTimestampResponseSize(int 
maxTimestampResponseSize) {
+        MAX_TIMESTAMP_RESPONSE_SIZE = maxTimestampResponseSize;
+    }
+
+    public static int getMaxTimestampResponseSize() {
+        return MAX_TIMESTAMP_RESPONSE_SIZE;
+    }
+
     /**
      * Maps the digest algorithm to corresponding OID value.
      */
@@ -165,7 +178,7 @@ public class TSPTimeStampService impleme
             }
 
             try (InputStream stream = huc.getInputStream()) {
-                responseBytes = IOUtils.toByteArray(stream);
+                responseBytes = IOUtils.toByteArray(stream, 
MAX_TIMESTAMP_RESPONSE_SIZE);
             }
             LOG.atDebug().log(() -> new SimpleMessage("response content: " + 
HexDump.dump(responseBytes, 0, 0)));
         } finally {

Modified: 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java?rev=1898233&r1=1898232&r2=1898233&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
 Sat Feb 19 21:06:01 2022
@@ -77,6 +77,8 @@ public class XMLSlideShow extends POIXML
     //arbitrarily selected; may need to increase
     private static final int DEFAULT_MAX_RECORD_LENGTH = 1_000_000;
     private static int MAX_RECORD_LENGTH = DEFAULT_MAX_RECORD_LENGTH;
+    private static final int DEFAULT_MAX_IMAGE_SIZE = 100_000_000;
+    private static int MAX_IMAGE_SIZE = DEFAULT_MAX_IMAGE_SIZE;
 
     private CTPresentation _presentation;
     private final List<XSLFSlide> _slides = new ArrayList<>();
@@ -101,6 +103,20 @@ public class XMLSlideShow extends POIXML
         return MAX_RECORD_LENGTH;
     }
 
+    /**
+     * @param length the max image size allowed for XMLSlideShow
+     */
+    public static void setMaxImageSize(int length) {
+        MAX_IMAGE_SIZE = length;
+    }
+
+    /**
+     * @return the max image size allowed for XMLSlideShow
+     */
+    public static int getMaxImageSize() {
+        return MAX_IMAGE_SIZE;
+    }
+
     public XMLSlideShow() {
         this(empty());
     }
@@ -556,7 +572,7 @@ public class XMLSlideShow extends POIXML
      */
     @Override
     public XSLFPictureData addPicture(InputStream is, PictureType format) 
throws IOException {
-        return addPicture(IOUtils.toByteArray(is), format);
+        return addPicture(IOUtils.toByteArray(is, MAX_IMAGE_SIZE), format);
     }
 
 

Modified: 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/util/PPTHandler.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/util/PPTHandler.java?rev=1898233&r1=1898232&r2=1898233&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/util/PPTHandler.java 
(original)
+++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/util/PPTHandler.java 
Sat Feb 19 21:06:01 2022
@@ -50,14 +50,12 @@ import org.apache.poi.sl.usermodel.Slide
 import org.apache.poi.sl.usermodel.SlideShowFactory;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.Internal;
-import org.apache.poi.util.LocaleUtil;
 
 /** Handler for ppt and pptx files */
 @Internal
 class PPTHandler extends MFProxy {
     private SlideShow<?,?> ppt;
     private Slide<?,?> slide;
-    private Charset defaultCharset = LocaleUtil.CHARSET_1252;
 
     @Override
     public void parse(File file) throws IOException {



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to