You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by sa...@apache.org on 2021/04/28 09:26:17 UTC

svn commit: r1889259 - in /poi/trunk/poi-ooxml/src: main/java/org/apache/poi/xwpf/usermodel/XWPFRun.java test/java/org/apache/poi/xwpf/usermodel/TestXWPFRun.java

Author: sayi
Date: Wed Apr 28 09:26:16 2021
New Revision: 1889259

URL: http://svn.apache.org/viewvc?rev=1889259&view=rev
Log:
Fix ArrayIndexOutOfBoundsException if XWPFRun does not set style

Modified:
    poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFRun.java
    poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xwpf/usermodel/TestXWPFRun.java

Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFRun.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFRun.java?rev=1889259&r1=1889258&r2=1889259&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFRun.java (original)
+++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFRun.java Wed Apr 28 09:26:16 2021
@@ -1248,16 +1248,11 @@ public class XWPFRun implements ISDTCont
      */
     public String getStyle() {
         CTRPr pr = getCTR().getRPr();
-        if (pr == null) {
+        if (pr == null || pr.sizeOfRStyleArray() <= 0) {
             return "";
         }
-
         CTString style = pr.getRStyleArray(0);
-        if (style == null) {
-            return "";
-        }
-
-        return style.getVal();
+        return null == style ? "" : style.getVal();
     }
 
 

Modified: poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xwpf/usermodel/TestXWPFRun.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xwpf/usermodel/TestXWPFRun.java?rev=1889259&r1=1889258&r2=1889259&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xwpf/usermodel/TestXWPFRun.java (original)
+++ poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xwpf/usermodel/TestXWPFRun.java Wed Apr 28 09:26:16 2021
@@ -789,6 +789,17 @@ class TestXWPFRun {
     }
 
     @Test
+    void testGetEmptyStyle() throws IOException {
+        XWPFDocument document = new XWPFDocument();
+        final XWPFRun run = document.createParagraph().createRun();
+        assertEquals("", run.getStyle());
+
+        run.getCTR().addNewRPr();
+        assertEquals("", run.getStyle());
+        document.close();
+    }
+
+    @Test
     void testGetDepthWidth() throws IOException, InvalidFormatException {
         try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("TestDocument.docx")) {
             XWPFHeader hdr = doc.createHeader(HeaderFooterType.DEFAULT);



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