Fuzz introspector: POIHPBFFuzzer
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
21 47 [org.apache.poi.util.LittleEndian].getUInt(byte[],int) call site: {node_id} [org.apache.poi.util.LittleEndian].getUInt(byte[],int)
7 16 [org.apache.poi.hpbf.model.MainContents]. (org.apache.poi.poifs.filesystem.DirectoryNode) call site: {node_id} [org.apache.poi.hpbf.model.HPBFPart].getDir(org.apache.poi.poifs.filesystem.DirectoryNode,String[])
7 83 [org.apache.poi.util.BitFieldFactory].getInstance(int) call site: {node_id}
3 79 [org.apache.poi.hpbf.model.EscherStm]. (org.apache.poi.poifs.filesystem.DirectoryNode) call site: {node_id} [org.apache.poi.util.BitFieldFactory].getInstance(int)
2 41 [org.apache.poi.hpbf.model.QuillContents]. (org.apache.poi.poifs.filesystem.DirectoryNode) call site: {node_id}
1 13 [org.apache.poi.POIReadOnlyDocument]. (org.apache.poi.poifs.filesystem.DirectoryNode) call site: {node_id}
1 24 [org.apache.poi.hpbf.HPBFDocument]. (org.apache.poi.poifs.filesystem.DirectoryNode) call site: {node_id}
1 45 [org.apache.poi.hpbf.model.QuillContents]. (org.apache.poi.poifs.filesystem.DirectoryNode) call site: {node_id} [org.apache.poi.util.LittleEndian].getUInt(byte[],int)
1 71 [org.apache.poi.hpbf.model.QuillContents]. (org.apache.poi.poifs.filesystem.DirectoryNode) call site: {node_id}
1 93 [org.apache.poi.hpbf.extractor.PublisherTextExtractor]. (org.apache.poi.poifs.filesystem.DirectoryNode) call site: {node_id}

Fuzzer calltree

0 [org.apache.poi.POIHPBFFuzzer].fuzzerTestOneInput(byte[]) [function] [call site] 00000
1 [java.io.ByteArrayInputStream].<init>(byte[]) [function] [call site] 00001
1 [org.apache.poi.hpbf.HPBFDocument].<init>(java.io.ByteArrayInputStream) [function] [call site] 00002
1 [java.io.ByteArrayInputStream].<init>(byte[]) [function] [call site] 00003
1 [org.apache.poi.poifs.filesystem.POIFSFileSystem].<init>(java.io.ByteArrayInputStream) [function] [call site] 00004
1 [org.apache.poi.poifs.filesystem.POIFSFileSystem].getRoot() [function] [call site] 00005
2 [org.apache.poi.poifs.property.PropertyTable].getRoot() [function] [call site] 00006
3 [java.util.List<org.apache.poi.poifs.property.Property>].get(int) [function] [call site] 00007
3 [IllegalStateException].<init>(String) [function] [call site] 00008
2 [org.apache.poi.poifs.filesystem.DirectoryNode].<init>(org.apache.poi.poifs.property.RootProperty,null) [function] [call site] 00009
1 [org.apache.poi.hpbf.extractor.PublisherTextExtractor].<init>(org.apache.poi.poifs.filesystem.DirectoryNode) [function] [call site] 00010
2 [org.apache.poi.hpbf.HPBFDocument].<init>(org.apache.poi.poifs.filesystem.DirectoryNode) [function] [call site] 00011
3 [org.apache.poi.POIReadOnlyDocument].<init>(org.apache.poi.poifs.filesystem.DirectoryNode) [function] [call site] 00012
4 [org.apache.poi.POIDocument].<init>(org.apache.poi.poifs.filesystem.DirectoryNode) [function] [call site] 00013
5 [org.apache.poi.logging.PoiLogManager].getLogger() [function] [call site] 00014
3 [org.apache.poi.hpbf.model.MainContents].<init>(org.apache.poi.poifs.filesystem.DirectoryNode) [function] [call site] 00015
4 [org.apache.poi.hpbf.model.HPBFPart].<init>(org.apache.poi.poifs.filesystem.DirectoryNode,String[]) [function] [call site] 00016
5 [org.apache.poi.hpbf.model.HPBFPart].getDir(org.apache.poi.poifs.filesystem.DirectoryNode,String[]) [function] [call site] 00017
6 [IllegalArgumentException].<init>(org.apache.poi.hpbf.model.HPBFPart) [function] [call site] 00018
6 [IllegalArgumentException].<init>(org.apache.poi.hpbf.model.HPBFPart) [function] [call site] 00019
5 [org.apache.poi.poifs.filesystem.DirectoryNode].hasEntryCaseInsensitive(org.apache.poi.hpbf.model.HPBFPart) [function] [call site] 00020
5 [IllegalArgumentException].<init>(String) [function] [call site] 00021
5 [org.apache.poi.poifs.filesystem.DirectoryNode].createDocumentInputStream(org.apache.poi.hpbf.model.HPBFPart) [function] [call site] 00022
5 [org.apache.poi.util.IOUtils].toByteArray(org.apache.poi.hpbf.model.HPBFPart) [function] [call site] 00023
3 [org.apache.poi.hpbf.model.QuillContents].<init>(org.apache.poi.poifs.filesystem.DirectoryNode) [function] [call site] 00024
4 [org.apache.poi.logging.PoiLogManager].getLogger() [function] [call site] 00025
4 [org.apache.poi.hpbf.model.HPBFPart].<init>(org.apache.poi.poifs.filesystem.DirectoryNode,String[]) [function] [call site] 00026
4 [org.apache.poi.hpbf.model.QuillContents].getData() [function] [call site] 00027
4 [String].<init>(org.apache.poi.hpbf.model.QuillContents,int,int,java.nio.charset.Charset) [function] [call site] 00028
4 [String].equals(String) [function] [call site] 00029
4 [IllegalArgumentException].<init>(String) [function] [call site] 00030
4 [String].<init>(org.apache.poi.hpbf.model.QuillContents,int,int,java.nio.charset.Charset) [function] [call site] 00031
4 [org.apache.poi.util.LittleEndian].getUShort(org.apache.poi.hpbf.model.QuillContents,int) [function] [call site] 00032
4 [org.apache.poi.util.LittleEndian].getUShort(org.apache.poi.hpbf.model.QuillContents,int) [function] [call site] 00033
4 [org.apache.poi.util.LittleEndian].getUShort(org.apache.poi.hpbf.model.QuillContents,int) [function] [call site] 00034
4 [String].<init>(org.apache.poi.hpbf.model.QuillContents,int,int,java.nio.charset.Charset) [function] [call site] 00035
4 [org.apache.poi.util.LittleEndian].getUInt(org.apache.poi.hpbf.model.QuillContents,int) [function] [call site] 00036
4 [org.apache.poi.util.LittleEndian].getUInt(org.apache.poi.hpbf.model.QuillContents,int) [function] [call site] 00037
4 [org.apache.poi.hpbf.model.EscherPart].getMaxRecordLength() [function] [call site] 00038
4 [org.apache.poi.util.IOUtils].safelyClone(org.apache.poi.hpbf.model.QuillContents,org.apache.poi.hpbf.model.QuillContents,org.apache.poi.hpbf.model.QuillContents,int) [function] [call site] 00039
4 [String].equals(String) [function] [call site] 00040
4 [org.apache.poi.hpbf.model.qcbits.QCTextBit].<init>(String,String,byte[]) [function] [call site] 00041
5 [org.apache.poi.hpbf.model.qcbits.QCBit].<init>(String,String,byte[]) [function] [call site] 00042
6 [byte[]].clone() [function] [call site] 00043
4 [String].equals(String) [function] [call site] 00044
4 [org.apache.poi.hpbf.model.qcbits.QCPLCBit].createQCPLCBit(String,String,byte[]) [function] [call site] 00045
5 [org.apache.poi.util.LittleEndian].getUInt(byte[],int) [function] [call site] 00046
6 [org.apache.poi.util.LittleEndian].getInt(byte[],int) [function] [call site] 00047
5 [org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type0].<init>(String,String,byte[]) [function] [call site] 00048
6 [org.apache.poi.hpbf.model.qcbits.QCPLCBit].<init>(String,String,byte[]) [function] [call site] 00049
7 [org.apache.poi.hpbf.model.qcbits.QCBit].<init>(String,String,byte[]) [function] [call site] 00050
7 [org.apache.poi.util.LittleEndian].getUInt(byte[],int) [function] [call site] 00051
7 [IllegalArgumentException].<init>(String) [function] [call site] 00052
7 [org.apache.poi.util.LittleEndian].getUInt(byte[],int) [function] [call site] 00053
7 [org.apache.poi.util.IOUtils].safelyAllocateCheck(int,int) [function] [call site] 00054
6 [org.apache.poi.util.LittleEndian].getUShort(byte[],int,int) [function] [call site] 00055
6 [org.apache.poi.util.LittleEndian].getUShort(byte[],int,int) [function] [call site] 00056
6 [org.apache.poi.util.LittleEndian].getUShort(byte[],int,int) [function] [call site] 00057
6 [org.apache.poi.util.LittleEndian].getUShort(byte[],int,int) [function] [call site] 00058
6 [org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type0].setPreData(org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type0) [function] [call site] 00059
6 [org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type0].getNumberOfPLCs() [function] [call site] 00060
6 [org.apache.poi.util.LittleEndian].getUShort(byte[],int) [function] [call site] 00061
6 [org.apache.poi.util.LittleEndian].getUShort(byte[],int) [function] [call site] 00062
6 [org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type0].setPlcValA(org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type0) [function] [call site] 00063
6 [org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type0].setPlcValB(org.apache.poi.hpbf.model.qcbits.QCPLCBit.Type0) [function] [call site] 00064
5 [Type4].<init>(String,String,byte[]) [function] [call site] 00065
5 [Type8].<init>(String,String,byte[]) [function] [call site] 00066
5 [Type12].<init>(String,String,byte[]) [function] [call site] 00067
5 [IllegalArgumentException].<init>(String) [function] [call site] 00068
4 [org.apache.logging.log4j.Logger].atWarn() [function] [call site] 00069
4 [org.apache.poi.hpbf.model.QuillContents].log(String) [function] [call site] 00070
4 [org.apache.poi.hpbf.model.qcbits.UnknownQCBit].<init>(String,String,byte[]) [function] [call site] 00071
5 [org.apache.poi.hpbf.model.qcbits.QCBit].<init>(String,String,byte[]) [function] [call site] 00072
4 [org.apache.poi.hpbf.model.qcbits.UnknownQCBit].<init>(String,String,byte[]) [function] [call site] 00073
4 [poi/poi-scratchpadmain/java/org/apache/poi/hpbf/model/QuillContents.java].bits[i].setOptA(int) [function] [call site] 00074
4 [poi/poi-scratchpadmain/java/org/apache/poi/hpbf/model/QuillContents.java].bits[i].setOptB(int) [function] [call site] 00075
4 [poi/poi-scratchpadmain/java/org/apache/poi/hpbf/model/QuillContents.java].bits[i].setOptC(int) [function] [call site] 00076
4 [poi/poi-scratchpadmain/java/org/apache/poi/hpbf/model/QuillContents.java].bits[i].setDataOffset(org.apache.poi.hpbf.model.QuillContents) [function] [call site] 00077
3 [org.apache.poi.hpbf.model.EscherStm].<init>(org.apache.poi.poifs.filesystem.DirectoryNode) [function] [call site] 00078
4 [org.apache.poi.hpbf.model.EscherPart].<init>(org.apache.poi.poifs.filesystem.DirectoryNode,String[]) [function] [call site] 00079
5 [org.apache.poi.hpbf.model.HPBFPart].<init>(org.apache.poi.poifs.filesystem.DirectoryNode,String[]) [function] [call site] 00080
5 [org.apache.poi.ddf.DefaultEscherRecordFactory].<init>() [function] [call site] 00081
6 [org.apache.poi.util.BitFieldFactory].getInstance(int) [function] [call site] 00082
7 [java.util.concurrent.ConcurrentHashMap<Integer,org.apache.poi.util.BitField>].computeIfAbsent(int) [function] [call site] 00083
5 [java.util.ArrayList].<init>() [function] [call site] 00084
5 [org.apache.poi.hpbf.model.EscherPart].getData() [function] [call site] 00085
5 [org.apache.poi.ddf.DefaultEscherRecordFactory].createRecord(org.apache.poi.hpbf.model.EscherPart,int) [function] [call site] 00086
5 [org.apache.poi.ddf.EscherRecord].fillFields(org.apache.poi.hpbf.model.EscherPart,int,org.apache.poi.ddf.DefaultEscherRecordFactory) [function] [call site] 00087
5 [org.apache.poi.ddf.EscherRecord].getRecordSize() [function] [call site] 00088
5 [java.util.ArrayList].add(org.apache.poi.ddf.EscherRecord) [function] [call site] 00089
5 [java.util.ArrayList].toArray() [function] [call site] 00090
3 [org.apache.poi.hpbf.model.EscherDelayStm].<init>(org.apache.poi.poifs.filesystem.DirectoryNode) [function] [call site] 00091
4 [org.apache.poi.hpbf.model.EscherPart].<init>(org.apache.poi.poifs.filesystem.DirectoryNode,String[]) [function] [call site] 00092
2 [org.apache.poi.hpbf.extractor.PublisherTextExtractor].<init>(org.apache.poi.hpbf.HPBFDocument) [function] [call site] 00093
1 [org.apache.poi.POIFuzzer].checkExtractor(org.apache.poi.POIHPBFFuzzer) [function] [call site] 00094