Fuzz introspector: lzmaenc_fuzzer
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
9 9 1 :

['MatchFinder_Normalize']

9 33 MatchFinder_CheckLimits call site: 00000 /src/lzma-fuzz/sdk/C/LzFind.c:375
0 0 None 0 407 LzmaEnc_CodeOneBlock call site: 00122 /src/lzma-fuzz/sdk/C/LzmaEnc.c:2537
0 0 None 0 388 LzmaDec_DecodeToDic call site: 00140 /src/lzma-fuzz/sdk/C/LzmaDec.c:942
0 0 None 0 121 LzmaDec_DecodeReal2 call site: 00142 /src/lzma-fuzz/sdk/C/LzmaDec.c:632
0 0 None 0 44 LzmaEnc_CodeOneBlock call site: 00056 /src/lzma-fuzz/sdk/C/LzmaEnc.c:2282
0 0 None 0 41 LzmaEnc_Alloc call site: 00030 /src/lzma-fuzz/sdk/C/LzmaEnc.c:2562
0 0 None 0 37 LzmaEnc_Alloc call site: 00031 /src/lzma-fuzz/sdk/C/LzmaEnc.c:2576
0 0 None 0 37 LzmaEnc_Alloc call site: 00032 /src/lzma-fuzz/sdk/C/LzmaEnc.c:2587
0 0 None 0 7 MatchFinder_Create call site: 00033 /src/lzma-fuzz/sdk/C/LzFind.c:184
0 0 None 0 7 MatchFinder_Create call site: 00037 /src/lzma-fuzz/sdk/C/LzFind.c:201
0 0 None 0 4 LzmaEnc_Alloc call site: 00033 /src/lzma-fuzz/sdk/C/LzmaEnc.c:2605
0 0 None 0 0 LzmaAlloc(ISzAllocconst*,unsignedlong) call site: 00000 /src/lzma-fuzz/./common-alloc.h:36

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 LzmaEncProps_Init [function] [call site] 00001
1 LzmaEncProps_Normalize [function] [call site] 00002
1 LzmaEnc_Create [function] [call site] 00003
2 LzmaEnc_Construct [function] [call site] 00004
3 RangeEnc_Construct [function] [call site] 00005
3 MatchFinder_Construct [function] [call site] 00006
4 MatchFinder_SetDefaultSettings [function] [call site] 00007
3 LzmaEncProps_Init [function] [call site] 00008
3 LzmaEnc_SetProps [function] [call site] 00009
4 LzmaEncProps_Normalize [function] [call site] 00010
3 LzmaEnc_FastPosInit [function] [call site] 00011
3 LzmaEnc_InitPriceTables [function] [call site] 00012
1 OutputBuffer::OutputBuffer() [function] [call site] 00013
2 OutputBuffer::_Write(ISeqOutStream const*, void const*, unsigned long) [function] [call site] 00014
3 OutputBuffer::Write(void const*, unsigned long) [function] [call site] 00015
4 __assert_fail [call site] 00016
1 InputBuffer::InputBuffer(unsigned char const*, unsigned long) [function] [call site] 00017
2 InputBuffer::_Read(ISeqInStream const*, void*, unsigned long*) [function] [call site] 00018
3 InputBuffer::Read(void*, unsigned long*) [function] [call site] 00019
1 LzmaEnc_SetProps [function] [call site] 00020
1 OutputBuffer::~OutputBuffer() [function] [call site] 00021
1 LzmaEnc_SetDataSize [function] [call site] 00022
1 LzmaEnc_WriteProperties [function] [call site] 00023
1 __assert_fail [call site] 00024
1 OutputBuffer::stream() [function] [call site] 00025
1 LzmaEnc_Encode [function] [call site] 00026
2 LzmaEnc_Prepare [function] [call site] 00027
3 LzmaEnc_AllocAndInit [function] [call site] 00028
4 LzmaEnc_Alloc [function] [call site] 00029
5 RangeEnc_Alloc [function] [call site] 00030
5 LzmaEnc_FreeLits [function] [call site] 00031
5 LzmaEnc_FreeLits [function] [call site] 00032
5 MatchFinder_Create [function] [call site] 00033
6 MatchFinder_Free [function] [call site] 00034
7 MatchFinder_FreeThisClassMemory [function] [call site] 00035
7 LzInWindow_Free [function] [call site] 00036
6 LzInWindow_Create [function] [call site] 00037
7 LzInWindow_Free [function] [call site] 00038
6 MatchFinder_FreeThisClassMemory [function] [call site] 00039
6 AllocRefs [function] [call site] 00040
6 MatchFinder_Free [function] [call site] 00041
5 MatchFinder_CreateVTable [function] [call site] 00042
4 LzmaEnc_Init [function] [call site] 00043
5 RangeEnc_Init [function] [call site] 00044
5 LenEnc_Init [function] [call site] 00045
5 LenEnc_Init [function] [call site] 00046
4 LzmaEnc_InitPrices [function] [call site] 00047
5 FillDistancesPrices [function] [call site] 00048
5 FillAlignPrices [function] [call site] 00049
5 LenPriceEnc_UpdateTables [function] [call site] 00050
6 SetPrices_3 [function] [call site] 00051
6 SetPrices_3 [function] [call site] 00052
5 LenPriceEnc_UpdateTables [function] [call site] 00053
2 LzmaEnc_Encode2 [function] [call site] 00054
3 LzmaEnc_CodeOneBlock [function] [call site] 00055
4 CheckErrors [function] [call site] 00056
4 Flush [function] [call site] 00057
5 WriteEndMarker [function] [call site] 00058
6 RangeEnc_ShiftLow [function] [call site] 00059
7 RangeEnc_FlushStream [function] [call site] 00060
7 RangeEnc_FlushStream [function] [call site] 00061
6 RangeEnc_ShiftLow [function] [call site] 00062
6 LenEnc_Encode [function] [call site] 00063
7 RangeEnc_ShiftLow [function] [call site] 00064
7 RangeEnc_ShiftLow [function] [call site] 00065
7 LitEnc_Encode [function] [call site] 00066
8 RangeEnc_ShiftLow [function] [call site] 00067
7 RangeEnc_ShiftLow [function] [call site] 00068
7 RangeEnc_ShiftLow [function] [call site] 00069
7 RangeEnc_ShiftLow [function] [call site] 00070
7 RangeEnc_ShiftLow [function] [call site] 00071
6 RangeEnc_ShiftLow [function] [call site] 00072
6 RangeEnc_ShiftLow [function] [call site] 00073
6 RangeEnc_ShiftLow [function] [call site] 00074
5 RangeEnc_FlushData [function] [call site] 00075
6 RangeEnc_ShiftLow [function] [call site] 00076
5 RangeEnc_FlushStream [function] [call site] 00077
5 CheckErrors [function] [call site] 00078
4 ReadMatchDistances [function] [call site] 00079
4 RangeEnc_EncodeBit_0 [function] [call site] 00080
5 RangeEnc_ShiftLow [function] [call site] 00081
4 LitEnc_Encode [function] [call site] 00082
4 GetOptimumFast [function] [call site] 00083
5 ReadMatchDistances [function] [call site] 00084
5 ReadMatchDistances [function] [call site] 00085
4 GetOptimum [function] [call site] 00086
5 ReadMatchDistances [function] [call site] 00087
5 LitEnc_Matched_GetPrice [function] [call site] 00088
5 LitEnc_GetPrice [function] [call site] 00089
5 GetPrice_PureRep [function] [call site] 00090
5 ReadMatchDistances [function] [call site] 00091
5 LitEnc_Matched_GetPrice [function] [call site] 00092
5 LitEnc_GetPrice [function] [call site] 00093
5 GetPrice_PureRep [function] [call site] 00094
5 LitEnc_Matched_GetPrice [function] [call site] 00095
5 LitEnc_Matched_GetPrice [function] [call site] 00096
4 RangeEnc_ShiftLow [function] [call site] 00098
4 LitEnc_Encode [function] [call site] 00099
4 LitEnc_EncodeMatched [function] [call site] 00100
5 RangeEnc_ShiftLow [function] [call site] 00101
4 RangeEnc_ShiftLow [function] [call site] 00102
4 RangeEnc_ShiftLow [function] [call site] 00103
4 RangeEnc_ShiftLow [function] [call site] 00104
4 RangeEnc_ShiftLow [function] [call site] 00105
4 RangeEnc_ShiftLow [function] [call site] 00106
4 RangeEnc_ShiftLow [function] [call site] 00107
4 LenEnc_Encode [function] [call site] 00108
4 RangeEnc_ShiftLow [function] [call site] 00109
4 LenEnc_Encode [function] [call site] 00110
4 RangeEnc_ShiftLow [function] [call site] 00111
4 RcTree_ReverseEncode [function] [call site] 00112
5 RangeEnc_ShiftLow [function] [call site] 00113
4 RangeEnc_ShiftLow [function] [call site] 00114
4 RangeEnc_ShiftLow [function] [call site] 00115
4 RangeEnc_ShiftLow [function] [call site] 00116
4 RangeEnc_ShiftLow [function] [call site] 00117
4 RangeEnc_ShiftLow [function] [call site] 00118
4 FillAlignPrices [function] [call site] 00119
4 FillDistancesPrices [function] [call site] 00120
4 LenPriceEnc_UpdateTables [function] [call site] 00121
4 LenPriceEnc_UpdateTables [function] [call site] 00122
4 CheckErrors [function] [call site] 00123
3 LzmaEnc_Finish [function] [call site] 00125
1 __assert_fail [call site] 00126
1 OutputBuffer::size() const [function] [call site] 00127
1 __assert_fail [call site] 00128
1 __assert_fail [call site] 00129
1 OutputBuffer::size() const [function] [call site] 00130
1 OutputBuffer::data() const [function] [call site] 00131
1 LzmaDecode [function] [call site] 00132
2 LzmaDec_AllocateProbs [function] [call site] 00133
3 LzmaProps_Decode [function] [call site] 00134
3 LzmaDec_AllocateProbs2 [function] [call site] 00135
4 LzmaDec_FreeProbs [function] [call site] 00136
2 LzmaDec_Init [function] [call site] 00137
3 LzmaDec_InitDicAndState [function] [call site] 00138
2 LzmaDec_DecodeToDic [function] [call site] 00139
3 LzmaDec_WriteRem [function] [call site] 00140
3 LzmaDec_TryDummy [function] [call site] 00141
3 LzmaDec_DecodeReal2 [function] [call site] 00142
4 LzmaDec_DecodeReal_3 [function] [call site] 00143
4 LzmaDec_WriteRem [function] [call site] 00144
3 LzmaDec_TryDummy [function] [call site] 00145
3 LzmaDec_DecodeReal2 [function] [call site] 00146
2 LzmaDec_FreeProbs [function] [call site] 00147
1 __assert_fail [call site] 00148
1 __assert_fail [call site] 00149
1 OutputBuffer::size() const [function] [call site] 00150
1 __assert_fail [call site] 00151
1 memcmp [call site] 00152
1 LzmaEnc_Destroy [function] [call site] 00153
2 LzmaEnc_Destruct [function] [call site] 00154
3 MatchFinder_Free [function] [call site] 00155
3 LzmaEnc_FreeLits [function] [call site] 00156
3 RangeEnc_Free [function] [call site] 00157