You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2021/10/22 21:08:53 UTC

svn commit: r1894494 - in /poi/trunk: poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emf/ poi-scratchpad/src/main/java/org/apache/poi/hmef/dev/ poi-scratchpad/src/main/java/org/apache/poi/hpbf/model/ poi-scratchpad/src/main/java/org/apache/poi...

Author: fanningpj
Date: Fri Oct 22 21:08:53 2021
New Revision: 1894494

URL: http://svn.apache.org/viewvc?rev=1894494&view=rev
Log:
more support for configurable max record len

Modified:
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emf/HemfText.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hmef/dev/HMEFDumper.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hpbf/model/EscherPart.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/AnimationInfoAtom.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/Comment2000Atom.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExHyperlinkAtom.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/HeadersFootersAtom.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/InteractiveInfoAtom.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PersistPtrHolder.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/RecordAtom.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextRulerAtom.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextSpecInfoAtom.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TxMasterStyleAtom.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/HWPFDocument.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/CHPFormattedDiskPage.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/ComplexFileTable.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/DocumentProperties.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/Ffn.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/FileInformationBlock.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/PICFAndOfficeArtData.java
    poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/SectionTable.java
    poi/trunk/poi/src/test/java9/module-info.class

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emf/HemfText.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emf/HemfText.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emf/HemfText.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hemf/record/emf/HemfText.java Fri Oct 22 21:08:53 2021
@@ -52,7 +52,22 @@ import org.apache.poi.util.RecordFormatE
 @SuppressWarnings("WeakerAccess")
 public class HemfText {
 
-    private static final int MAX_RECORD_LENGTH = 1_000_000;
+    private static final int DEFAULT_MAX_RECORD_LENGTH = 1_000_000;
+    private static int MAX_RECORD_LENGTH = DEFAULT_MAX_RECORD_LENGTH;
+
+    /**
+     * @param length the max record length allowed for HemfText
+     */
+    public static void setMaxRecordLength(int length) {
+        MAX_RECORD_LENGTH = length;
+    }
+
+    /**
+     * @return the max record length allowed for HemfText
+     */
+    public static int getMaxRecordLength() {
+        return MAX_RECORD_LENGTH;
+    }
 
     public enum EmfGraphicsMode {
         GM_COMPATIBLE, GM_ADVANCED

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hmef/dev/HMEFDumper.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hmef/dev/HMEFDumper.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hmef/dev/HMEFDumper.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hmef/dev/HMEFDumper.java Fri Oct 22 21:08:53 2021
@@ -38,7 +38,22 @@ import org.apache.poi.util.LittleEndian;
 public final class HMEFDumper {
 
    //arbitrarily selected; may need to increase
-   private static final int MAX_RECORD_LENGTH = 1_000_000;
+   private static final int DEFAULT_MAX_RECORD_LENGTH = 1_000_000;
+   private static int MAX_RECORD_LENGTH = DEFAULT_MAX_RECORD_LENGTH;
+
+   /**
+    * @param length the max record length allowed for HMEFDumper
+    */
+   public static void setMaxRecordLength(int length) {
+      MAX_RECORD_LENGTH = length;
+   }
+
+   /**
+    * @return the max record length allowed for HMEFDumper
+    */
+   public static int getMaxRecordLength() {
+      return MAX_RECORD_LENGTH;
+   }
 
    public static void main(String[] args) throws Exception {
       if(args.length < 1) {

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hpbf/model/EscherPart.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hpbf/model/EscherPart.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hpbf/model/EscherPart.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hpbf/model/EscherPart.java Fri Oct 22 21:08:53 2021
@@ -35,14 +35,14 @@ public abstract class EscherPart extends
     private static int MAX_RECORD_LENGTH = DEFAULT_MAX_RECORD_LENGTH;
 
     /**
-     * @param length the max record length allowed for CString
+     * @param length the max record length allowed for EscherPart
      */
     public static void setMaxRecordLength(int length) {
         MAX_RECORD_LENGTH = length;
     }
 
     /**
-     * @return the max record length allowed for CString
+     * @return the max record length allowed for EscherPart
      */
     public static int getMaxRecordLength() {
         return MAX_RECORD_LENGTH;

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/AnimationInfoAtom.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/AnimationInfoAtom.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/AnimationInfoAtom.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/AnimationInfoAtom.java Fri Oct 22 21:08:53 2021
@@ -34,9 +34,6 @@ import org.apache.poi.util.LittleEndian;
  */
 public final class AnimationInfoAtom extends RecordAtom {
 
-    //arbitrarily selected; may need to increase
-    private static final int MAX_RECORD_LENGTH = 100_000;
-
     /**
      * whether the animation plays in the reverse direction
      */
@@ -127,7 +124,7 @@ public final class AnimationInfoAtom ext
         _header = Arrays.copyOfRange(source, start, start+8);
 
         // Grab the record data
-        _recdata = IOUtils.safelyClone(source,start+8, len-8, MAX_RECORD_LENGTH);
+        _recdata = IOUtils.safelyClone(source,start+8, len-8, getMaxRecordLength());
     }
 
     /**

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/Comment2000Atom.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/Comment2000Atom.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/Comment2000Atom.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/Comment2000Atom.java Fri Oct 22 21:08:53 2021
@@ -33,11 +33,7 @@ import org.apache.poi.util.LittleEndian;
  * An atomic record containing information about a comment.
  */
 
-public final class Comment2000Atom extends RecordAtom
-{
-
-    //arbitrarily selected; may need to increase
-    private static final int MAX_RECORD_LENGTH = 100_000;
+public final class Comment2000Atom extends RecordAtom {
 
     /**
      * Record header.
@@ -74,7 +70,7 @@ public final class Comment2000Atom exten
         _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, getMaxRecordLength());
     }
 
     /**

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExHyperlinkAtom.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExHyperlinkAtom.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExHyperlinkAtom.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/ExHyperlinkAtom.java Fri Oct 22 21:08:53 2021
@@ -33,9 +33,6 @@ import org.apache.poi.util.LittleEndian;
  */
 public final class ExHyperlinkAtom extends RecordAtom {
 
-    //arbitrarily selected; may need to increase
-    private static final int MAX_RECORD_LENGTH = 100_000;
-
     /**
      * Record header.
      */
@@ -72,7 +69,7 @@ public final class ExHyperlinkAtom exten
         _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, getMaxRecordLength());
 
         // Must be at least 4 bytes long
         if(_data.length < 4) {

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/HeadersFootersAtom.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/HeadersFootersAtom.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/HeadersFootersAtom.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/HeadersFootersAtom.java Fri Oct 22 21:08:53 2021
@@ -61,9 +61,6 @@ public final class HeadersFootersAtom ex
         CHINESE3
     }
 
-    //arbitrarily selected; may need to increase
-    private static final int MAX_RECORD_LENGTH = 100_000;
-
     /**
      * A bit that specifies whether the date is displayed in the footer.
      * @see #getMask()
@@ -144,7 +141,7 @@ public final class HeadersFootersAtom ex
         _header = Arrays.copyOfRange(source, start, start+8);
 
         // Grab the record data
-        _recdata = IOUtils.safelyClone(source, start+8, len-8, MAX_RECORD_LENGTH);
+        _recdata = IOUtils.safelyClone(source, start+8, len-8, getMaxRecordLength());
     }
 
     /**

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/InteractiveInfoAtom.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/InteractiveInfoAtom.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/InteractiveInfoAtom.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/InteractiveInfoAtom.java Fri Oct 22 21:08:53 2021
@@ -36,9 +36,6 @@ import org.apache.poi.util.LittleEndian;
  */
 public class InteractiveInfoAtom extends RecordAtom {
 
-    //arbitrarily selected; may need to increase
-    private static final int MAX_RECORD_LENGTH = 100_000;
-
     public enum Action {
         NONE,
         MACRO,
@@ -154,7 +151,7 @@ public class InteractiveInfoAtom extends
         _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, getMaxRecordLength());
 
         // Must be at least 16 bytes long
         if(_data.length < 16) {

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PersistPtrHolder.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PersistPtrHolder.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PersistPtrHolder.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/PersistPtrHolder.java Fri Oct 22 21:08:53 2021
@@ -45,11 +45,7 @@ import org.apache.poi.util.LittleEndianC
  *  (via CurrentUserAtom and UserEditAtom) pointing to the new slide location
  */
 
-public final class PersistPtrHolder extends PositionDependentRecordAtom
-{
-
-    //arbitrarily selected; may need to increase
-    private static final int MAX_RECORD_LENGTH = 100_000;
+public final class PersistPtrHolder extends PositionDependentRecordAtom {
 
     private final byte[] _header;
     private byte[] _ptrData; // Will need to update this once we allow updates to _slideLocations
@@ -113,7 +109,7 @@ public final class PersistPtrHolder exte
         //   count * 32 bit offsets
         // Repeat as many times as you have data
         _slideLocations = new HashMap<>();
-        _ptrData = IOUtils.safelyClone(source, start+8, len-8, MAX_RECORD_LENGTH);
+        _ptrData = IOUtils.safelyClone(source, start+8, len-8, RecordAtom.getMaxRecordLength());
 
         int pos = 0;
         while(pos < _ptrData.length) {

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/RecordAtom.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/RecordAtom.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/RecordAtom.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/RecordAtom.java Fri Oct 22 21:08:53 2021
@@ -28,14 +28,14 @@ public abstract class RecordAtom extends
     private static int MAX_RECORD_LENGTH = DEFAULT_MAX_RECORD_LENGTH;
 
     /**
-     * @param length the max record length allowed for CString
+     * @param length the max record length allowed for RecordAtom
      */
     public static void setMaxRecordLength(int length) {
         MAX_RECORD_LENGTH = length;
     }
 
     /**
-     * @return the max record length allowed for CString
+     * @return the max record length allowed for RecordAtom
      */
     public static int getMaxRecordLength() {
         return MAX_RECORD_LENGTH;

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextRulerAtom.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextRulerAtom.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextRulerAtom.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextRulerAtom.java Fri Oct 22 21:08:53 2021
@@ -42,9 +42,6 @@ import org.apache.poi.util.LittleEndianO
  */
 public final class TextRulerAtom extends RecordAtom {
 
-    //arbitrarily selected; may need to increase
-    private static final int MAX_RECORD_LENGTH = 100_000;
-
     private static final BitField DEFAULT_TAB_SIZE = getInstance(0x0001);
     private static final BitField C_LEVELS = getInstance(0x0002);
     private static final BitField TAB_STOPS = getInstance(0x0004);
@@ -87,7 +84,7 @@ public final class TextRulerAtom extends
      * @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, MAX_RECORD_LENGTH));
+        final LittleEndianByteArrayInputStream leis = new LittleEndianByteArrayInputStream(source, start, Math.min(len, getMaxRecordLength()));
 
 
         try {

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextSpecInfoAtom.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextSpecInfoAtom.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextSpecInfoAtom.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TextSpecInfoAtom.java Fri Oct 22 21:08:53 2021
@@ -38,9 +38,6 @@ import org.apache.poi.util.LittleEndianB
  */
 public final class TextSpecInfoAtom extends RecordAtom {
 
-    //arbitrarily selected; may need to increase
-    private static final int MAX_RECORD_LENGTH = 100_000;
-
     private static final long _type = RecordTypes.TextSpecInfoAtom.typeID;
 
     /**
@@ -75,7 +72,7 @@ public final class TextSpecInfoAtom exte
         _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, getMaxRecordLength());
     }
     /**
      * Gets the record type.

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TxMasterStyleAtom.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TxMasterStyleAtom.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TxMasterStyleAtom.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hslf/record/TxMasterStyleAtom.java Fri Oct 22 21:08:53 2021
@@ -54,8 +54,6 @@ import org.apache.poi.util.LittleEndianO
  */
 public final class TxMasterStyleAtom extends RecordAtom {
     private static final Logger LOG = LogManager.getLogger(TxMasterStyleAtom.class);
-    //arbitrarily selected; may need to increase
-    private static final int MAX_RECORD_LENGTH = 100_000;
 
     /**
      * Maximum number of indentation levels allowed in PowerPoint documents
@@ -73,7 +71,7 @@ public final class TxMasterStyleAtom ext
     protected TxMasterStyleAtom(byte[] source, int start, int len) {
         _header = Arrays.copyOfRange(source, start, start+8);
 
-        _data = IOUtils.safelyClone(source, start+8, len-8, MAX_RECORD_LENGTH);
+        _data = IOUtils.safelyClone(source, start+8, len-8, getMaxRecordLength());
 
         //read available styles
         try {

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/HWPFDocument.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/HWPFDocument.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/HWPFDocument.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/HWPFDocument.java Fri Oct 22 21:08:53 2021
@@ -83,7 +83,8 @@ public final class HWPFDocument extends
     /*package*/ static final String PROPERTY_PRESERVE_BIN_TABLES = "org.apache.poi.hwpf.preserveBinTables";
     private static final String PROPERTY_PRESERVE_TEXT_TABLE = "org.apache.poi.hwpf.preserveTextTable";
     //arbitrarily selected; may need to increase
-    private static final int MAX_RECORD_LENGTH = 1_000_000;
+    private static final int DEFAULT_MAX_RECORD_LENGTH = 100_000;
+    private static int MAX_RECORD_LENGTH = DEFAULT_MAX_RECORD_LENGTH;
 
     private static final String STREAM_DATA = "Data";
 
@@ -194,6 +195,20 @@ public final class HWPFDocument extends
     private Fields _fields;
 
     /**
+     * @param length the max record length allowed for HWPFDocument
+     */
+    public static void setMaxRecordLength(int length) {
+        MAX_RECORD_LENGTH = length;
+    }
+
+    /**
+     * @return the max record length allowed for HWPFDocument
+     */
+    public static int getMaxRecordLength() {
+        return MAX_RECORD_LENGTH;
+    }
+
+    /**
      * This constructor loads a Word document from an InputStream.
      *
      * @param istream The InputStream that contains the Word document.

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/CHPFormattedDiskPage.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/CHPFormattedDiskPage.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/CHPFormattedDiskPage.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/CHPFormattedDiskPage.java Fri Oct 22 21:08:53 2021
@@ -21,6 +21,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
+import org.apache.poi.hwpf.HWPFDocument;
 import org.apache.poi.hwpf.sprm.SprmBuffer;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.Internal;
@@ -42,17 +43,12 @@ import org.apache.poi.util.RecordFormatE
  * differently for CHP fkps and PAP fkps.
  */
 @Internal
-public final class CHPFormattedDiskPage extends FormattedDiskPage
-{
+public final class CHPFormattedDiskPage extends FormattedDiskPage {
     private static final int FC_SIZE = 4;
-    //arbitrarily selected; may need to increase
-    private static final int MAX_RECORD_LENGTH = 100_000;
-
 
     private ArrayList<CHPX> _chpxList = new ArrayList<>();
     private ArrayList<CHPX> _overFlow;
 
-
     public CHPFormattedDiskPage()
     {
     }
@@ -60,21 +56,6 @@ public final class CHPFormattedDiskPage
     /**
      * This constructs a CHPFormattedDiskPage from a raw fkp (512 byte array
      * read from a Word file).
-     *
-     * @deprecated Use
-     *             {@link #CHPFormattedDiskPage(byte[], int, CharIndexTranslator)}
-     *             instead
-     */
-    @Deprecated
-    public CHPFormattedDiskPage( byte[] documentStream, int offset, int fcMin,
-            TextPieceTable tpt )
-    {
-        this( documentStream, offset, tpt );
-    }
-
-    /**
-     * This constructs a CHPFormattedDiskPage from a raw fkp (512 byte array
-     * read from a Word file).
      */
     public CHPFormattedDiskPage( byte[] documentStream, int offset,
             CharIndexTranslator translator )
@@ -138,7 +119,7 @@ public final class CHPFormattedDiskPage
 
         int size = LittleEndian.getUByte(_fkp, _offset + chpxOffset);
 
-        return IOUtils.safelyClone(_fkp, _offset + chpxOffset + 1, size, MAX_RECORD_LENGTH);
+        return IOUtils.safelyClone(_fkp, _offset + chpxOffset + 1, size, HWPFDocument.getMaxRecordLength());
     }
 
     protected byte[] toByteArray( CharIndexTranslator translator )

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/ComplexFileTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/ComplexFileTable.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/ComplexFileTable.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/ComplexFileTable.java Fri Oct 22 21:08:53 2021
@@ -23,6 +23,7 @@ import java.nio.charset.Charset;
 import java.util.LinkedList;
 import java.util.List;
 
+import org.apache.poi.hwpf.HWPFDocument;
 import org.apache.poi.hwpf.model.io.HWPFFileSystem;
 import org.apache.poi.hwpf.sprm.SprmBuffer;
 import org.apache.poi.util.IOUtils;
@@ -34,9 +35,6 @@ import org.apache.poi.util.StringUtil;
 @Internal
 public class ComplexFileTable {
 
-    //arbitrarily selected; may need to increase
-    private static final int MAX_RECORD_LENGTH = 100_000;
-
     private static final byte GRPPRL_TYPE = 1;
     private static final byte TEXT_PIECE_TABLE_TYPE = 2;
 
@@ -57,7 +55,7 @@ public class ComplexFileTable {
             offset++;
             int size = LittleEndian.getShort(tableStream, offset);
             offset += LittleEndianConsts.SHORT_SIZE;
-            byte[] bs = IOUtils.safelyClone(tableStream, offset, size, MAX_RECORD_LENGTH);
+            byte[] bs = IOUtils.safelyClone(tableStream, offset, size, HWPFDocument.getMaxRecordLength());
             offset += size;
 
             SprmBuffer sprmBuffer = new SprmBuffer(bs, false, 0);

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/DocumentProperties.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/DocumentProperties.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/DocumentProperties.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/DocumentProperties.java Fri Oct 22 21:08:53 2021
@@ -20,35 +20,17 @@ package org.apache.poi.hwpf.model;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
+import org.apache.poi.hwpf.HWPFDocument;
 import org.apache.poi.hwpf.model.types.DOPAbstractType;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.Internal;
 
 @Internal
-public final class DocumentProperties extends DOPAbstractType
-{
-
-    //arbitrarily selected; may need to increase
-    private static final int DEFAULT_MAX_RECORD_LENGTH = 100_000;
-    private static int MAX_RECORD_LENGTH = DEFAULT_MAX_RECORD_LENGTH;
+public final class DocumentProperties extends DOPAbstractType {
 
     private byte[] _preserved;
 
     /**
-     * @param length the max record length allowed for DocumentProperties
-     */
-    public static void setMaxRecordLength(int length) {
-        MAX_RECORD_LENGTH = length;
-    }
-
-    /**
-     * @return the max record length allowed for DocumentProperties
-     */
-    public static int getMaxRecordLength() {
-        return MAX_RECORD_LENGTH;
-    }
-
-    /**
      * @deprecated Use {@link #DocumentProperties(byte[],int,int)} instead
      */
     public DocumentProperties( byte[] tableStream, int offset )
@@ -63,7 +45,8 @@ public final class DocumentProperties ex
         final int supportedSize = DOPAbstractType.getSize();
         if ( length != supportedSize )
         {
-            this._preserved = IOUtils.safelyClone( tableStream, offset + supportedSize, length - supportedSize, MAX_RECORD_LENGTH );
+            this._preserved = IOUtils.safelyClone( tableStream, offset + supportedSize,
+                    length - supportedSize, HWPFDocument.getMaxRecordLength());
         }
         else
         {

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/Ffn.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/Ffn.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/Ffn.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/Ffn.java Fri Oct 22 21:08:53 2021
@@ -19,6 +19,7 @@ package org.apache.poi.hwpf.model;
 
 import java.util.Arrays;
 
+import org.apache.poi.hwpf.HWPFDocument;
 import org.apache.poi.util.BitField;
 import org.apache.poi.util.BitFieldFactory;
 import org.apache.poi.util.IOUtils;
@@ -34,10 +35,6 @@ import org.apache.poi.util.LittleEndianC
 @Internal
 public final class Ffn {
 
-    //arbitrarily selected; may need to increase
-    private static final int DEFAULT_MAX_RECORD_LENGTH = 100_000;
-    private static int MAX_RECORD_LENGTH = DEFAULT_MAX_RECORD_LENGTH;
-
     private int _cbFfnM1;//total length of FFN - 1.
     private byte _info;
     private static BitField _prq = BitFieldFactory.getInstance(0x0003);// pitch request
@@ -57,20 +54,6 @@ public final class Ffn {
     // extra facilitator members
     private int _xszFfnLength;
 
-    /**
-     * @param length the max record length allowed for Ffn
-     */
-    public static void setMaxRecordLength(int length) {
-      MAX_RECORD_LENGTH = length;
-    }
-  
-    /**
-     * @return the max record length allowed for Ffn
-     */
-    public static int getMaxRecordLength() {
-      return MAX_RECORD_LENGTH;
-    }
-
     public Ffn(byte[] buf, int offset) {
         int offsetTmp = offset;
 
@@ -155,7 +138,7 @@ public final class Ffn {
     // changed protected to public
     public byte[] toByteArray() {
         int offset = 0;
-        byte[] buf = IOUtils.safelyAllocate(this.getSize(), MAX_RECORD_LENGTH);
+        byte[] buf = IOUtils.safelyAllocate(this.getSize(), HWPFDocument.getMaxRecordLength());
 
         buf[offset] = (byte) _cbFfnM1;
         offset += LittleEndianConsts.BYTE_SIZE;

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/FileInformationBlock.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/FileInformationBlock.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/FileInformationBlock.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/FileInformationBlock.java Fri Oct 22 21:08:53 2021
@@ -26,6 +26,7 @@ import java.util.Locale;
 
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.apache.poi.hwpf.HWPFDocument;
 import org.apache.poi.hwpf.model.types.FibBaseAbstractType;
 import org.apache.poi.hwpf.model.types.FibRgLw97AbstractType;
 import org.apache.poi.hwpf.model.types.FibRgW97AbstractType;
@@ -50,9 +51,6 @@ import static org.apache.logging.log4j.u
 @Internal
 public final class FileInformationBlock {
 
-    //arbitrarily selected; may need to increase
-    private static final int MAX_RECORD_LENGTH = 100_000;
-
     private static final Logger LOG = LogManager.getLogger(FileInformationBlock.class);
 
     private final FibBase _fibBase;
@@ -124,7 +122,7 @@ public final class FileInformationBlock
 
             // first short is already read as _nFibNew
             final int fibRgCswNewLength = ( _cswNew - 1 ) * LittleEndianConsts.SHORT_SIZE;
-            _fibRgCswNew = IOUtils.safelyClone(mainDocument, offset, fibRgCswNewLength, MAX_RECORD_LENGTH);
+            _fibRgCswNew = IOUtils.safelyClone(mainDocument, offset, fibRgCswNewLength, HWPFDocument.getMaxRecordLength());
         }
         else
         {

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/PICFAndOfficeArtData.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/PICFAndOfficeArtData.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/PICFAndOfficeArtData.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/PICFAndOfficeArtData.java Fri Oct 22 21:08:53 2021
@@ -25,17 +25,14 @@ import org.apache.poi.ddf.EscherBlipReco
 import org.apache.poi.ddf.EscherContainerRecord;
 import org.apache.poi.ddf.EscherRecord;
 import org.apache.poi.ddf.EscherRecordTypes;
+import org.apache.poi.hwpf.HWPFDocument;
 import org.apache.poi.hwpf.model.types.PICFAbstractType;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.Internal;
 import org.apache.poi.util.LittleEndian;
 
 @Internal
-public class PICFAndOfficeArtData
-{
-
-    //arbitrarily selected; may need to increase
-    private static final int MAX_RECORD_LENGTH = 100_000;
+public class PICFAndOfficeArtData {
 
     /**
      * Can contain either a {@link EscherBlipRecord} or a {@link EscherBSERecord}.
@@ -65,7 +62,7 @@ public class PICFAndOfficeArtData
             short _cchPicName = LittleEndian.getUByte(dataStream, offset);
             offset += 1;
 
-            _stPicName = IOUtils.safelyClone(dataStream, offset, _cchPicName, MAX_RECORD_LENGTH);
+            _stPicName = IOUtils.safelyClone(dataStream, offset, _cchPicName, HWPFDocument.getMaxRecordLength());
             offset += _cchPicName;
         }
 

Modified: poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/SectionTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/SectionTable.java?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/SectionTable.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java/org/apache/poi/hwpf/model/SectionTable.java Fri Oct 22 21:08:53 2021
@@ -24,6 +24,7 @@ import java.util.List;
 
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.apache.poi.hwpf.HWPFDocument;
 import org.apache.poi.hwpf.model.io.HWPFFileSystem;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.Internal;
@@ -31,11 +32,7 @@ import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.LittleEndianConsts;
 
 @Internal
-public class SectionTable
-{
-
-    //arbitrarily selected; may need to increase
-    private static final int MAX_RECORD_LENGTH = 100_000;
+public class SectionTable {
 
     private static final Logger LOG = LogManager.getLogger(SectionTable.class);
     private static final int SED_SIZE = 12;
@@ -82,7 +79,7 @@ public class SectionTable
                 // The first short at the offset is the size of the grpprl.
                 int sepxSize = LittleEndian.getShort(documentStream, fileOffset);
                 fileOffset += LittleEndianConsts.SHORT_SIZE;
-                byte[] buf = IOUtils.safelyClone(documentStream, fileOffset, sepxSize, MAX_RECORD_LENGTH);
+                byte[] buf = IOUtils.safelyClone(documentStream, fileOffset, sepxSize, HWPFDocument.getMaxRecordLength());
                 _sections.add(new SEPX(sed, startAt, endAt, buf));
             }
         }

Modified: poi/trunk/poi/src/test/java9/module-info.class
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java9/module-info.class?rev=1894494&r1=1894493&r2=1894494&view=diff
==============================================================================
Binary files - no diff available.



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org