]> source.dussan.org Git - poi.git/commitdiff
Bug 60574 prevent rare NPE in ListTables
authorTim Allison <tallison@apache.org>
Wed, 11 Jan 2017 16:01:32 +0000 (16:01 +0000)
committerTim Allison <tallison@apache.org>
Wed, 11 Jan 2017 16:01:32 +0000 (16:01 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1778320 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java

index 01b9577421e4a447197d4239f65ff6449e96b105..d3865d25ce234ed42b0357a7341b39bd7d64422b 100644 (file)
@@ -135,9 +135,22 @@ public final class ListTables
         return _plfLfo.getIlfoByLsid( lsid );
     }
 
+    /**
+     * Get the ListLevel for a given lsid and level
+     * @param lsid
+     * @param level
+     * @return ListLevel if found, or <code>null</code> if ListData can't be found or if level is > that available
+     */
   public ListLevel getLevel(int lsid, int level)
   {
     ListData lst = _listMap.get(Integer.valueOf(lsid));
+    if (lst == null) {
+        if (log.check(POILogger.WARN)) {
+            log.log(POILogger.WARN, "ListData for " +
+                    lsid + " was null.");
+        }
+        return null;
+    }
     if(level < lst.numLevels()) {
        ListLevel lvl = lst.getLevels()[level];
        return lvl;