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

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
0 2 1 :

['void GFWX::shiftVector (short*, int, int)']

0 2 voidGFWX::transformTerm (intconst*&,short*,shortconst*,int,unsignedchar*const&,GFWX::Headerconst&,std::__1::vector >const&,int) call site: 00000 /src/gfwx-fuzzers/./gfwx.h:672
0 0 None 0 1390 voidGFWX::decode (GFWX::Image &,GFWX::Bits&,int,int,int,int,int,int,int,bool,bool) call site: 00000 /src/gfwx-fuzzers/./gfwx.h:617
0 0 None 0 6 longGFWX::decompress (unsignedchar*const&,GFWX::Header&,unsignedcharconst*,unsignedlong,int,bool) call site: 00000 /src/gfwx-fuzzers/./gfwx.h:946
0 0 None 0 0 longGFWX::decompress (unsignedchar*const&,GFWX::Header&,unsignedcharconst*,unsignedlong,int,bool) call site: 00000 /src/gfwx-fuzzers/./gfwx.h:811
0 0 None 0 0 longGFWX::decompress (unsignedchar*const&,GFWX::Header&,unsignedcharconst*,unsignedlong,int,bool) call site: 00000 /src/gfwx-fuzzers/./gfwx.h:833
0 0 None 0 0 longGFWX::decompress (unsignedchar*const&,GFWX::Header&,unsignedcharconst*,unsignedlong,int,bool) call site: 00000 /src/gfwx-fuzzers/./gfwx.h:836
0 0 None 0 0 longGFWX::decompress (unsignedchar*const&,GFWX::Header&,unsignedcharconst*,unsignedlong,int,bool) call site: 00000 /src/gfwx-fuzzers/./gfwx.h:846
0 0 None 0 0 longGFWX::decompress (unsignedchar*const&,GFWX::Header&,unsignedcharconst*,unsignedlong,int,bool) call site: 00000 /src/gfwx-fuzzers/./gfwx.h:853
0 0 None 0 0 longGFWX::decompress (unsignedchar*const&,GFWX::Header&,unsignedcharconst*,unsignedlong,int,bool) call site: 00000 /src/gfwx-fuzzers/./gfwx.h:856
0 0 None 0 0 longGFWX::decompress (unsignedchar*const&,GFWX::Header&,unsignedcharconst*,unsignedlong,int,bool) call site: 00000 /src/gfwx-fuzzers/./gfwx.h:913

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 GFWX::Header::Header() [function] [call site] 00001
1 long GFWX::decompress<unsigned char*>(unsigned char* const&, GFWX::Header&, unsigned char const*, unsigned long, int, bool) [function] [call site] 00002
2 GFWX::Bits::Bits(unsigned int*, unsigned int*) [function] [call site] 00003
2 GFWX::Bits::getBits(int) [function] [call site] 00004
2 GFWX::Bits::getBits(int) [function] [call site] 00005
2 GFWX::Bits::getBits(int) [function] [call site] 00006
2 GFWX::Bits::getBits(int) [function] [call site] 00007
2 GFWX::Bits::getBits(int) [function] [call site] 00008
2 GFWX::Bits::getBits(int) [function] [call site] 00009
2 GFWX::Bits::getBits(int) [function] [call site] 00010
2 GFWX::Bits::getBits(int) [function] [call site] 00011
2 GFWX::Bits::getBits(int) [function] [call site] 00012
2 GFWX::Bits::getBits(int) [function] [call site] 00013
2 GFWX::Bits::getBits(int) [function] [call site] 00014
2 GFWX::Bits::getBits(int) [function] [call site] 00015
2 GFWX::Bits::getBits(int) [function] [call site] 00016
2 GFWX::Bits::getBits(int) [function] [call site] 00017
2 GFWX::Bits::getBits(int) [function] [call site] 00018
2 GFWX::Header::bufferSize() const [function] [call site] 00019
2 GFWX::Bits::getBits(int) [function] [call site] 00020
2 int GFWX::signedDecode<2>(GFWX::Bits&) [function] [call site] 00021
3 unsigned int GFWX::unsignedDecode<2>(GFWX::Bits&) [function] [call site] 00022
4 GFWX::Bits::getZeros(unsigned int) [function] [call site] 00023
4 unsigned int GFWX::unsignedDecode<6>(GFWX::Bits&) [function] [call site] 00024
3 GFWX::Bits::getBits(int) [function] [call site] 00025
2 int GFWX::signedDecode<2>(GFWX::Bits&) [function] [call site] 00026
2 int GFWX::signedDecode<2>(GFWX::Bits&) [function] [call site] 00027
2 int GFWX::signedDecode<2>(GFWX::Bits&) [function] [call site] 00028
2 int GFWX::signedDecode<2>(GFWX::Bits&) [function] [call site] 00029
2 GFWX::Bits::flushReadWord() [function] [call site] 00030
2 GFWX::Bits::Bits(unsigned int*, unsigned int*) [function] [call site] 00031
2 GFWX::Image<short>::Image(short*, int, int) [function] [call site] 00032
2 void GFWX::decode<short>(GFWX::Image<short>&, GFWX::Bits&, int, int, int, int, int, int, int, bool, bool) [function] [call site] 00033
3 int GFWX::signedDecode<4>(GFWX::Bits&) [function] [call site] 00034
3 GFWX::Image<short>::operator[](int) [function] [call site] 00035
3 unsigned int GFWX::unsignedDecode<1>(GFWX::Bits&) [function] [call site] 00036
3 unsigned int GFWX::unsignedDecode<3>(GFWX::Bits&) [function] [call site] 00037
3 int GFWX::interleavedDecode<1>(GFWX::Bits&) [function] [call site] 00038
4 unsigned int GFWX::unsignedDecode<1>(GFWX::Bits&) [function] [call site] 00039
3 std::__1::pair<unsigned int, unsigned int> GFWX::getContext<short>(GFWX::Image<short>&, int, int, int, int, int, int, int) [function] [call site] 00040
4 GFWX::Image<short>::operator[](int) [function] [call site] 00041
4 GFWX::Image<short>::operator[](int) [function] [call site] 00042
4 GFWX::Image<short>::operator[](int) [function] [call site] 00043
4 GFWX::Image<short>::operator[](int) [function] [call site] 00044
4 GFWX::Image<short>::operator[](int) [function] [call site] 00045
4 GFWX::Image<short>::operator[](int) [function] [call site] 00046
4 GFWX::Image<short>::operator[](int) [function] [call site] 00047
4 GFWX::Image<short>::operator[](int) [function] [call site] 00048
4 GFWX::Image<short>::operator[](int) [function] [call site] 00049
4 GFWX::Image<short>::operator[](int) [function] [call site] 00050
4 GFWX::Image<short>::operator[](int) [function] [call site] 00051
3 unsigned int GFWX::square<unsigned int>(unsigned int) [function] [call site] 00052
3 int GFWX::interleavedDecode<0>(GFWX::Bits&) [function] [call site] 00053
3 int GFWX::interleavedDecode<1>(GFWX::Bits&) [function] [call site] 00054
3 int GFWX::signedDecode<1>(GFWX::Bits&) [function] [call site] 00055
3 int GFWX::interleavedDecode<2>(GFWX::Bits&) [function] [call site] 00056
3 int GFWX::signedDecode<2>(GFWX::Bits&) [function] [call site] 00057
3 int GFWX::interleavedDecode<3>(GFWX::Bits&) [function] [call site] 00058
3 int GFWX::signedDecode<3>(GFWX::Bits&) [function] [call site] 00059
3 int GFWX::interleavedDecode<4>(GFWX::Bits&) [function] [call site] 00060
3 int GFWX::signedDecode<4>(GFWX::Bits&) [function] [call site] 00061
3 unsigned int GFWX::square<unsigned int>(unsigned int) [function] [call site] 00062
2 void GFWX::decode<short>(GFWX::Image<short>&, GFWX::Bits&, int, int, int, int, int, int, int, bool, bool) [function] [call site] 00063
2 GFWX::Image<short>::Image(short*, int, int) [function] [call site] 00064
2 void GFWX::quantize<short, true>(GFWX::Image<short>&, int, int, int, int, int, int, int, int) [function] [call site] 00065
3 GFWX::Image<short>::operator[](int) [function] [call site] 00066
2 void GFWX::unlift<short>(GFWX::Image<short>&, int, int, int, int, int, int) [function] [call site] 00067
3 GFWX::Image<short>::operator[](int) [function] [call site] 00068
3 GFWX::Image<short>::operator[](int) [function] [call site] 00069
3 GFWX::Image<short>::operator[](int) [function] [call site] 00070
3 GFWX::Image<short>::operator[](int) [function] [call site] 00071
3 short GFWX::cubic<short>(short, short, short, short) [function] [call site] 00072
4 int GFWX::roundFraction<int>(int, int) [function] [call site] 00073
3 GFWX::Image<short>::operator[](int) [function] [call site] 00074
3 GFWX::Image<short>::operator[](int) [function] [call site] 00075
3 GFWX::Image<short>::operator[](int) [function] [call site] 00076
3 GFWX::Image<short>::operator[](int) [function] [call site] 00077
3 short GFWX::cubic<short>(short, short, short, short) [function] [call site] 00078
3 GFWX::Image<short>::operator[](int) [function] [call site] 00079
3 short GFWX::cubic<short>(short, short, short, short) [function] [call site] 00080
3 short GFWX::cubic<short>(short, short, short, short) [function] [call site] 00081
3 short GFWX::cubic<short>(short, short, short, short) [function] [call site] 00082
3 short GFWX::cubic<short>(short, short, short, short) [function] [call site] 00083
2 void GFWX::quantize<short, true>(GFWX::Image<short>&, int, int, int, int, int, int, int, int) [function] [call site] 00084
2 void GFWX::unlift<short>(GFWX::Image<short>&, int, int, int, int, int, int) [function] [call site] 00085
2 void GFWX::transformTerm<unsigned char*, short>(int const*&, short*, short const*, int, unsigned char* const&, GFWX::Header const&, std::__1::vector<int, std::__1::allocator<int> > const&, int) [function] [call site] 00086
3 void GFWX::shiftVector<short>(short*, int, int) [function] [call site] 00087
3 void GFWX::shiftVector<short>(short*, int, int) [function] [call site] 00088
3 void GFWX::shiftVector<short>(short*, int, int) [function] [call site] 00089
2 GFWX::Image<short>::Image(short*, int, int) [function] [call site] 00090
2 GFWX::Image<short>::operator[](int) [function] [call site] 00091
2 GFWX::Image<short>::operator[](int) [function] [call site] 00092
1 long GFWX::decompress<unsigned char*>(unsigned char* const&, GFWX::Header&, unsigned char const*, unsigned long, int, bool) [function] [call site] 00093
1 void fuzzing::memory::memory_test<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&) [function] [call site] 00094