浏览代码

Bug 66425: Avoid a NullPointerException found via oss-fuzz

We try to avoid throwing NullPointerException, but it was possible
to trigger one here with a specially crafted input-file

Should fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=62208

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1912251 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_5_2_4
Dominik Stadler 8 个月前
父节点
当前提交
e666d3756e

+ 4
- 2
poi-ooxml/src/main/java/org/apache/poi/xssf/eventusermodel/ReadOnlySharedStringsTable.java 查看文件

} else if ("rPh".equals(localName)) { } else if ("rPh".equals(localName)) {
inRPh = true; inRPh = true;
//append space...this assumes that rPh always comes after regular <t> //append space...this assumes that rPh always comes after regular <t>
if (includePhoneticRuns && characters.length() > 0) {
if (includePhoneticRuns && characters != null && characters.length() > 0) {
characters.append(" "); characters.append(" ");
} }
} }
public void characters(char[] ch, int start, int length) throws SAXException { public void characters(char[] ch, int start, int length) throws SAXException {
if (tIsOpen) { if (tIsOpen) {
if (inRPh && includePhoneticRuns) { if (inRPh && includePhoneticRuns) {
characters.append(ch, start, length);
if (characters != null) {
characters.append(ch, start, length);
}
} else if (! inRPh){ } else if (! inRPh){
if (characters != null) { if (characters != null) {
characters.append(ch, start, length); characters.append(ch, start, length);

二进制
test-data/spreadsheet/clusterfuzz-testcase-minimized-XLSX2CSVFuzzer-6504225896792064.xlsx 查看文件


二进制
test-data/spreadsheet/stress.xls 查看文件


正在加载...
取消
保存