Author: fanningpj Date: Tue Jul 14 16:17:52 2020 New Revision: 1879859 URL: http://svn.apache.org/viewvc?rev=1879859&view=rev Log: [bug-64600] Avoid XWPF NPE when styleid is null. Thanks to Sayi. This closes #186
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFStyles.java poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFStyles.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFStyles.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFStyles.java?rev=1879859&r1=1879858&r2=1879859&view=diff ============================================================================== --- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFStyles.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFStyles.java Tue Jul 14 16:17:52 2020 @@ -154,11 +154,7 @@ public class XWPFStyles extends POIXMLDo * @return true if style exist, false if style not exist */ public boolean styleExist(String styleID) { - for (XWPFStyle style : listStyle) { - if (style.getStyleId().equals(styleID)) - return true; - } - return false; + return null != getStyle(styleID); } /** @@ -182,12 +178,8 @@ public class XWPFStyles extends POIXMLDo */ public XWPFStyle getStyle(String styleID) { for (XWPFStyle style : listStyle) { - try { - if (style.getStyleId().equals(styleID)) - return style; - } catch (NullPointerException e) { - // Ignore NPE - } + if (null != style.getStyleId() && style.getStyleId().equals(styleID)) + return style; } return null; } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFStyles.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFStyles.java?rev=1879859&r1=1879858&r2=1879859&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFStyles.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFStyles.java Tue Jul 14 16:17:52 2020 @@ -217,6 +217,11 @@ public final class TestXWPFStyles { assertNotNull(styles.getStyle("NoList")); assertNull(styles.getStyle("EmptyCellLayoutStyle")); assertNotNull(styles.getStyle("BalloonText")); + + // Bug 64600: styleExist throws NPE + assertTrue(styles.styleExist("NoList")); + assertFalse(styles.styleExist("EmptyCellLayoutStyle")); + assertTrue(styles.styleExist("BalloonText")); } catch (NullPointerException e) { fail(e.toString()); } @@ -235,4 +240,5 @@ public final class TestXWPFStyles { assertEquals(styleName, style.getName()); } } + } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org