Fuzz introspector: lzma2enc_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 388 2 :

['LzmaDec_DecodeReal2', 'LzmaDec_TryDummy']

0 388 LzmaDec_DecodeToDic call site: 00179 /src/lzma-fuzz/sdk/C/LzmaDec.c:924
0 0 None 101 640 Lzma2Enc_EncodeMt1 call site: 00027 /src/lzma-fuzz/sdk/C/Lzma2Enc.c:512
0 0 None 101 589 Lzma2Enc_EncodeMt1 call site: 00028 /src/lzma-fuzz/sdk/C/Lzma2Enc.c:522
0 0 None 101 589 Lzma2Enc_EncodeMt1 call site: 00038 /src/lzma-fuzz/sdk/C/Lzma2Enc.c:538
0 0 None 101 547 Lzma2Enc_EncodeMt1 call site: 00043 /src/lzma-fuzz/sdk/C/Lzma2Enc.c:555
0 0 None 101 547 Lzma2Enc_EncodeMt1 call site: 00043 /src/lzma-fuzz/sdk/C/Lzma2Enc.c:562
0 0 None 101 547 Lzma2Enc_EncodeMt1 call site: 00072 /src/lzma-fuzz/sdk/C/Lzma2Enc.c:593
0 0 None 101 547 Lzma2Enc_EncodeMt1 call site: 00076 /src/lzma-fuzz/sdk/C/Lzma2Enc.c:600
0 0 None 101 547 Lzma2Enc_EncodeMt1 call site: 00076 /src/lzma-fuzz/sdk/C/Lzma2Enc.c:604
0 0 None 101 547 Lzma2Enc_EncodeMt1 call site: 00155 /src/lzma-fuzz/sdk/C/Lzma2Enc.c:608
0 0 None 0 407 LzmaEnc_CodeOneBlock call site: 00150 /src/lzma-fuzz/sdk/C/LzmaEnc.c:2537

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 Lzma2EncProps_Init [function] [call site] 00001
2 LzmaEncProps_Init [function] [call site] 00002
1 Lzma2EncProps_Normalize [function] [call site] 00003
2 LzmaEncProps_Normalize [function] [call site] 00004
2 LzmaEncProps_Normalize [function] [call site] 00005
1 Lzma2Enc_Create [function] [call site] 00006
2 Lzma2EncProps_Init [function] [call site] 00007
2 Lzma2EncProps_Normalize [function] [call site] 00008
1 OutputBuffer::OutputBuffer() [function] [call site] 00009
2 OutputBuffer::_Write(ISeqOutStream const*, void const*, unsigned long) [function] [call site] 00010
3 OutputBuffer::Write(void const*, unsigned long) [function] [call site] 00011
4 __assert_fail [call site] 00012
1 InputBuffer::InputBuffer(unsigned char const*, unsigned long) [function] [call site] 00013
2 InputBuffer::_Read(ISeqInStream const*, void*, unsigned long*) [function] [call site] 00014
3 InputBuffer::Read(void*, unsigned long*) [function] [call site] 00015
1 Lzma2Enc_SetProps [function] [call site] 00016
2 LzmaEncProps_Normalize [function] [call site] 00017
2 Lzma2EncProps_Normalize [function] [call site] 00018
1 OutputBuffer::~OutputBuffer() [function] [call site] 00019
1 Lzma2Enc_SetDataSize [function] [call site] 00020
1 Lzma2Enc_WriteProperties [function] [call site] 00021
2 LzmaEncProps_GetDictSize [function] [call site] 00022
3 LzmaEncProps_Normalize [function] [call site] 00023
1 OutputBuffer::stream() [function] [call site] 00024
1 InputBuffer::stream() [function] [call site] 00025
1 Lzma2Enc_Encode2 [function] [call site] 00026
2 Lzma2Enc_EncodeMt1 [function] [call site] 00027
3 LzmaEnc_Create [function] [call site] 00028
4 LzmaEnc_Construct [function] [call site] 00029
5 RangeEnc_Construct [function] [call site] 00030
5 MatchFinder_Construct [function] [call site] 00031
6 MatchFinder_SetDefaultSettings [function] [call site] 00032
5 LzmaEncProps_Init [function] [call site] 00033
5 LzmaEnc_SetProps [function] [call site] 00034
6 LzmaEncProps_Normalize [function] [call site] 00035
5 LzmaEnc_FastPosInit [function] [call site] 00036
5 LzmaEnc_InitPriceTables [function] [call site] 00037
3 LimitedSeqInStream_Read [function] [call site] 00038
3 Lzma2EncInt_InitStream [function] [call site] 00039
4 LzmaEnc_SetProps [function] [call site] 00040
4 LzmaEnc_WriteProperties [function] [call site] 00041
3 Lzma2EncInt_InitBlock [function] [call site] 00042
3 LimitedSeqInStream_Init [function] [call site] 00043
3 LzmaEnc_SetDataSize [function] [call site] 00044
3 LzmaEnc_PrepareForLzma2 [function] [call site] 00045
4 LzmaEnc_AllocAndInit [function] [call site] 00046
5 LzmaEnc_Alloc [function] [call site] 00047
6 RangeEnc_Alloc [function] [call site] 00048
6 LzmaEnc_FreeLits [function] [call site] 00049
6 LzmaEnc_FreeLits [function] [call site] 00050
6 MatchFinder_Create [function] [call site] 00051
7 MatchFinder_Free [function] [call site] 00052
8 MatchFinder_FreeThisClassMemory [function] [call site] 00053
8 LzInWindow_Free [function] [call site] 00054
7 LzInWindow_Create [function] [call site] 00055
8 LzInWindow_Free [function] [call site] 00056
7 MatchFinder_FreeThisClassMemory [function] [call site] 00057
7 AllocRefs [function] [call site] 00058
7 MatchFinder_Free [function] [call site] 00059
6 MatchFinder_CreateVTable [function] [call site] 00060
5 LzmaEnc_Init [function] [call site] 00061
6 RangeEnc_Init [function] [call site] 00062
6 LenEnc_Init [function] [call site] 00063
6 LenEnc_Init [function] [call site] 00064
5 LzmaEnc_InitPrices [function] [call site] 00065
6 FillDistancesPrices [function] [call site] 00066
6 FillAlignPrices [function] [call site] 00067
6 LenPriceEnc_UpdateTables [function] [call site] 00068
7 SetPrices_3 [function] [call site] 00069
7 SetPrices_3 [function] [call site] 00070
6 LenPriceEnc_UpdateTables [function] [call site] 00071
3 LzmaEnc_MemPrepare [function] [call site] 00072
4 LzmaEnc_SetInputBuf [function] [call site] 00073
4 LzmaEnc_SetDataSize [function] [call site] 00074
4 LzmaEnc_AllocAndInit [function] [call site] 00075
3 Lzma2EncInt_EncodeSubblock [function] [call site] 00076
4 LzmaEnc_SaveState [function] [call site] 00077
4 LzmaEnc_CodeOneMemBlock [function] [call site] 00078
5 SeqOutStreamBuf_Write [function] [call site] 00079
5 LzmaEnc_Init [function] [call site] 00080
5 LzmaEnc_InitPrices [function] [call site] 00081
5 RangeEnc_Init [function] [call site] 00082
5 LzmaEnc_CodeOneBlock [function] [call site] 00083
6 CheckErrors [function] [call site] 00084
6 Flush [function] [call site] 00085
7 WriteEndMarker [function] [call site] 00086
8 RangeEnc_ShiftLow [function] [call site] 00087
9 RangeEnc_FlushStream [function] [call site] 00088
9 RangeEnc_FlushStream [function] [call site] 00089
8 RangeEnc_ShiftLow [function] [call site] 00090
8 LenEnc_Encode [function] [call site] 00091
9 RangeEnc_ShiftLow [function] [call site] 00092
9 RangeEnc_ShiftLow [function] [call site] 00093
9 LitEnc_Encode [function] [call site] 00094
10 RangeEnc_ShiftLow [function] [call site] 00095
9 RangeEnc_ShiftLow [function] [call site] 00096
9 RangeEnc_ShiftLow [function] [call site] 00097
9 RangeEnc_ShiftLow [function] [call site] 00098
9 RangeEnc_ShiftLow [function] [call site] 00099
8 RangeEnc_ShiftLow [function] [call site] 00100
8 RangeEnc_ShiftLow [function] [call site] 00101
8 RangeEnc_ShiftLow [function] [call site] 00102
7 RangeEnc_FlushData [function] [call site] 00103
8 RangeEnc_ShiftLow [function] [call site] 00104
7 RangeEnc_FlushStream [function] [call site] 00105
7 CheckErrors [function] [call site] 00106
6 ReadMatchDistances [function] [call site] 00107
6 RangeEnc_EncodeBit_0 [function] [call site] 00108
7 RangeEnc_ShiftLow [function] [call site] 00109
6 LitEnc_Encode [function] [call site] 00110
6 GetOptimumFast [function] [call site] 00111
7 ReadMatchDistances [function] [call site] 00112
7 ReadMatchDistances [function] [call site] 00113
6 GetOptimum [function] [call site] 00114
7 ReadMatchDistances [function] [call site] 00115
7 LitEnc_Matched_GetPrice [function] [call site] 00116
7 LitEnc_GetPrice [function] [call site] 00117
7 GetPrice_PureRep [function] [call site] 00118
7 ReadMatchDistances [function] [call site] 00119
7 LitEnc_Matched_GetPrice [function] [call site] 00120
7 LitEnc_GetPrice [function] [call site] 00121
7 GetPrice_PureRep [function] [call site] 00122
7 LitEnc_Matched_GetPrice [function] [call site] 00123
7 LitEnc_Matched_GetPrice [function] [call site] 00124
6 RangeEnc_ShiftLow [function] [call site] 00126
6 LitEnc_Encode [function] [call site] 00127
6 LitEnc_EncodeMatched [function] [call site] 00128
7 RangeEnc_ShiftLow [function] [call site] 00129
6 RangeEnc_ShiftLow [function] [call site] 00130
6 RangeEnc_ShiftLow [function] [call site] 00131
6 RangeEnc_ShiftLow [function] [call site] 00132
6 RangeEnc_ShiftLow [function] [call site] 00133
6 RangeEnc_ShiftLow [function] [call site] 00134
6 RangeEnc_ShiftLow [function] [call site] 00135
6 LenEnc_Encode [function] [call site] 00136
6 RangeEnc_ShiftLow [function] [call site] 00137
6 LenEnc_Encode [function] [call site] 00138
6 RangeEnc_ShiftLow [function] [call site] 00139
6 RcTree_ReverseEncode [function] [call site] 00140
7 RangeEnc_ShiftLow [function] [call site] 00141
6 RangeEnc_ShiftLow [function] [call site] 00142
6 RangeEnc_ShiftLow [function] [call site] 00143
6 RangeEnc_ShiftLow [function] [call site] 00144
6 RangeEnc_ShiftLow [function] [call site] 00145
6 RangeEnc_ShiftLow [function] [call site] 00146
6 FillAlignPrices [function] [call site] 00147
6 FillDistancesPrices [function] [call site] 00148
6 LenPriceEnc_UpdateTables [function] [call site] 00149
6 LenPriceEnc_UpdateTables [function] [call site] 00150
6 CheckErrors [function] [call site] 00151
4 LzmaEnc_GetCurBuf [function] [call site] 00153
4 LzmaEnc_RestoreState [function] [call site] 00154
3 LzmaEnc_Finish [function] [call site] 00156
1 __assert_fail [call site] 00157
1 OutputBuffer::size() const [function] [call site] 00158
1 __assert_fail [call site] 00159
1 __assert_fail [call site] 00160
1 OutputBuffer::size() const [function] [call site] 00161
1 OutputBuffer::data() const [function] [call site] 00162
1 Lzma2Decode [function] [call site] 00163
2 Lzma2Dec_AllocateProbs [function] [call site] 00164
3 Lzma2Dec_GetOldProps [function] [call site] 00165
3 LzmaDec_AllocateProbs [function] [call site] 00166
4 LzmaProps_Decode [function] [call site] 00167
4 LzmaDec_AllocateProbs2 [function] [call site] 00168
5 LzmaDec_FreeProbs [function] [call site] 00169
2 Lzma2Dec_Init [function] [call site] 00170
3 LzmaDec_Init [function] [call site] 00171
4 LzmaDec_InitDicAndState [function] [call site] 00172
2 Lzma2Dec_DecodeToDic [function] [call site] 00173
3 Lzma2Dec_UpdateState [function] [call site] 00174
3 LzmaDec_InitDicAndState [function] [call site] 00175
3 LzmaDec_UpdateWithUncompressed [function] [call site] 00176
3 LzmaDec_InitDicAndState [function] [call site] 00177
3 LzmaDec_DecodeToDic [function] [call site] 00178
4 LzmaDec_WriteRem [function] [call site] 00179
4 LzmaDec_TryDummy [function] [call site] 00180
4 LzmaDec_DecodeReal2 [function] [call site] 00181
5 LzmaDec_DecodeReal_3 [function] [call site] 00182
5 LzmaDec_WriteRem [function] [call site] 00183
4 LzmaDec_TryDummy [function] [call site] 00184
4 LzmaDec_DecodeReal2 [function] [call site] 00185
2 LzmaDec_FreeProbs [function] [call site] 00186
1 __assert_fail [call site] 00187
1 __assert_fail [call site] 00188
1 OutputBuffer::size() const [function] [call site] 00189
1 __assert_fail [call site] 00190
1 memcmp [call site] 00191
1 Lzma2Enc_Destroy [function] [call site] 00192
2 LzmaEnc_Destroy [function] [call site] 00193
3 LzmaEnc_Destruct [function] [call site] 00194
4 MatchFinder_Free [function] [call site] 00195
4 LzmaEnc_FreeLits [function] [call site] 00196
4 RangeEnc_Free [function] [call site] 00197