aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTim Allison <tallison@apache.org>2017-01-11 16:01:32 +0000
committerTim Allison <tallison@apache.org>2017-01-11 16:01:32 +0000
commit7e74976c04fb51724dff868585cecd63b3e9338b (patch)
treea911666cc47a2194b94a9fdcadb483656b8a00af /src
parentcf37b13c3ab1277fdaa722d3f0abc5fe8b7ebe3c (diff)
downloadpoi-7e74976c04fb51724dff868585cecd63b3e9338b.tar.gz
poi-7e74976c04fb51724dff868585cecd63b3e9338b.zip
Bug 60574 prevent rare NPE in ListTables
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1778320 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
-rw-r--r--src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java b/src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java
index 01b9577421..d3865d25ce 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java
@@ -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;