mirror of https://github.com/apache/poi.git
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=61372 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1911603 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
d152861036
commit
f034ca26b9
|
@ -38,7 +38,7 @@ import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||||
* can return the text for you (example: for use with Lucene).
|
* can return the text for you (example: for use with Lucene).
|
||||||
*/
|
*/
|
||||||
public final class VisioTextExtractor implements POIOLE2TextExtractor {
|
public final class VisioTextExtractor implements POIOLE2TextExtractor {
|
||||||
private HDGFDiagram hdgf;
|
private final HDGFDiagram hdgf;
|
||||||
private boolean doCloseFilesystem = true;
|
private boolean doCloseFilesystem = true;
|
||||||
|
|
||||||
public VisioTextExtractor(HDGFDiagram hdgf) {
|
public VisioTextExtractor(HDGFDiagram hdgf) {
|
||||||
|
@ -72,8 +72,10 @@ public final class VisioTextExtractor implements POIOLE2TextExtractor {
|
||||||
private void findText(Stream stream, List<String> text) {
|
private void findText(Stream stream, List<String> text) {
|
||||||
if(stream instanceof PointerContainingStream) {
|
if(stream instanceof PointerContainingStream) {
|
||||||
PointerContainingStream ps = (PointerContainingStream)stream;
|
PointerContainingStream ps = (PointerContainingStream)stream;
|
||||||
for(final Stream substream : ps.getPointedToStreams()) {
|
if (ps.getPointedToStreams() != null) {
|
||||||
findText(substream, text);
|
for (final Stream substream : ps.getPointedToStreams()) {
|
||||||
|
findText(substream, text);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(stream instanceof ChunkStream) {
|
if(stream instanceof ChunkStream) {
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue