aboutsummaryrefslogtreecommitdiffstats
path: root/poi-scratchpad
diff options
context:
space:
mode:
authorDominik Stadler <centic@apache.org>2023-08-11 14:46:04 +0000
committerDominik Stadler <centic@apache.org>2023-08-11 14:46:04 +0000
commitf034ca26b98fa7126398a51b190b0de2f563a225 (patch)
tree8a702dea0ca973956f1d1f0efc9b3ee53f853169 /poi-scratchpad
parentd15286103648b5cbfadfc6eeec132f224b49e2ec (diff)
downloadpoi-f034ca26b98fa7126398a51b190b0de2f563a225.tar.gz
poi-f034ca26b98fa7126398a51b190b0de2f563a225.zip
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
Diffstat (limited to 'poi-scratchpad')
-rw-r--r--poi-scratchpad/src/main/java/org/apache/poi/hdgf/extractor/VisioTextExtractor.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/poi-scratchpad/src/main/java/org/apache/poi/hdgf/extractor/VisioTextExtractor.java b/poi-scratchpad/src/main/java/org/apache/poi/hdgf/extractor/VisioTextExtractor.java
index 194075fe04..30eab3e843 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hdgf/extractor/VisioTextExtractor.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hdgf/extractor/VisioTextExtractor.java
@@ -38,7 +38,7 @@ import org.apache.poi.poifs.filesystem.POIFSFileSystem;
* can return the text for you (example: for use with Lucene).
*/
public final class VisioTextExtractor implements POIOLE2TextExtractor {
- private HDGFDiagram hdgf;
+ private final HDGFDiagram hdgf;
private boolean doCloseFilesystem = true;
public VisioTextExtractor(HDGFDiagram hdgf) {
@@ -72,8 +72,10 @@ public final class VisioTextExtractor implements POIOLE2TextExtractor {
private void findText(Stream stream, List<String> text) {
if(stream instanceof PointerContainingStream) {
PointerContainingStream ps = (PointerContainingStream)stream;
- for(final Stream substream : ps.getPointedToStreams()) {
- findText(substream, text);
+ if (ps.getPointedToStreams() != null) {
+ for (final Stream substream : ps.getPointedToStreams()) {
+ findText(substream, text);
+ }
}
}
if(stream instanceof ChunkStream) {