]> source.dussan.org Git - poi.git/commitdiff
[bug-64348] partial fix for IndexOutOfBoundsException
authorPJ Fanning <fanningpj@apache.org>
Tue, 14 Apr 2020 09:06:56 +0000 (09:06 +0000)
committerPJ Fanning <fanningpj@apache.org>
Tue, 14 Apr 2020 09:06:56 +0000 (09:06 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1876487 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/java/org/apache/poi/xwpf/model/XWPFHeaderFooterPolicy.java

index 3707ccc509ab2374a02caac8d5a6f545dc46f64c..7cb5326291274bbb200e7065f5bfd9e1ed3b5659 100644 (file)
@@ -425,8 +425,16 @@ public class XWPFHeaderFooterPolicy {
      */
     private XWPFParagraph getWatermarkParagraph(String text, int idx) {
         CTP p = CTP.Factory.newInstance();
-        byte[] rsidr = doc.getDocument().getBody().getPArray(0).getRsidR();
-        byte[] rsidrdefault = doc.getDocument().getBody().getPArray(0).getRsidRDefault();
+        CTBody ctBody = doc.getDocument().getBody();
+        byte[] rsidr = null;
+        byte[] rsidrdefault = null;
+        if (ctBody.sizeOfPArray() == 0) {
+            // TODO generate rsidr and rsidrdefault
+        } else {
+            CTP ctp = ctBody.getPArray(0);
+            rsidr = ctp.getRsidR();
+            rsidrdefault = ctp.getRsidRDefault();
+        }
         p.setRsidP(rsidr);
         p.setRsidRDefault(rsidrdefault);
         CTPPr pPr = p.addNewPPr();