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: 00117 /src/lzma-fuzz/sdk/C/LzmaEnc.c:2537
0 0 None 0 388 LzmaDec_DecodeToDic call site: 00135 /src/lzma-fuzz/sdk/C/LzmaDec.c:942
0 0 None 0 121 LzmaDec_DecodeReal2 call site: 00137 /src/lzma-fuzz/sdk/C/LzmaDec.c:632
0 0 None 0 44 LzmaEnc_CodeOneBlock call site: 00051 /src/lzma-fuzz/sdk/C/LzmaEnc.c:2282
0 0 None 0 41 LzmaEnc_Alloc call site: 00025 /src/lzma-fuzz/sdk/C/LzmaEnc.c:2562
0 0 None 0 37 LzmaEnc_Alloc call site: 00026 /src/lzma-fuzz/sdk/C/LzmaEnc.c:2576
0 0 None 0 37 LzmaEnc_Alloc call site: 00027 /src/lzma-fuzz/sdk/C/LzmaEnc.c:2587
0 0 None 0 7 MatchFinder_Create call site: 00028 /src/lzma-fuzz/sdk/C/LzFind.c:184
0 0 None 0 7 MatchFinder_Create call site: 00032 /src/lzma-fuzz/sdk/C/LzFind.c:201
0 0 None 0 4 LzmaEnc_Alloc call site: 00028 /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
1 InputBuffer::InputBuffer(unsigned char const*, unsigned long) [function] [call site] 00014
1 LzmaEnc_SetProps [function] [call site] 00015
1 OutputBuffer::~OutputBuffer() [function] [call site] 00016
1 LzmaEnc_SetDataSize [function] [call site] 00017
1 LzmaEnc_WriteProperties [function] [call site] 00018
1 __assert_fail [call site] 00019
1 OutputBuffer::stream() [function] [call site] 00020
1 LzmaEnc_Encode [function] [call site] 00021
2 LzmaEnc_Prepare [function] [call site] 00022
3 LzmaEnc_AllocAndInit [function] [call site] 00023
4 LzmaEnc_Alloc [function] [call site] 00024
5 RangeEnc_Alloc [function] [call site] 00025
5 LzmaEnc_FreeLits [function] [call site] 00026
5 LzmaEnc_FreeLits [function] [call site] 00027
5 MatchFinder_Create [function] [call site] 00028
6 MatchFinder_Free [function] [call site] 00029
7 MatchFinder_FreeThisClassMemory [function] [call site] 00030
7 LzInWindow_Free [function] [call site] 00031
6 LzInWindow_Create [function] [call site] 00032
7 LzInWindow_Free [function] [call site] 00033
6 MatchFinder_FreeThisClassMemory [function] [call site] 00034
6 AllocRefs [function] [call site] 00035
6 MatchFinder_Free [function] [call site] 00036
5 MatchFinder_CreateVTable [function] [call site] 00037
4 LzmaEnc_Init [function] [call site] 00038
5 RangeEnc_Init [function] [call site] 00039
5 LenEnc_Init [function] [call site] 00040
5 LenEnc_Init [function] [call site] 00041
4 LzmaEnc_InitPrices [function] [call site] 00042
5 FillDistancesPrices [function] [call site] 00043
5 FillAlignPrices [function] [call site] 00044
5 LenPriceEnc_UpdateTables [function] [call site] 00045
6 SetPrices_3 [function] [call site] 00046
6 SetPrices_3 [function] [call site] 00047
5 LenPriceEnc_UpdateTables [function] [call site] 00048
2 LzmaEnc_Encode2 [function] [call site] 00049
3 LzmaEnc_CodeOneBlock [function] [call site] 00050
4 CheckErrors [function] [call site] 00051
4 Flush [function] [call site] 00052
5 WriteEndMarker [function] [call site] 00053
6 RangeEnc_ShiftLow [function] [call site] 00054
7 RangeEnc_FlushStream [function] [call site] 00055
7 RangeEnc_FlushStream [function] [call site] 00056
6 RangeEnc_ShiftLow [function] [call site] 00057
6 LenEnc_Encode [function] [call site] 00058
7 RangeEnc_ShiftLow [function] [call site] 00059
7 RangeEnc_ShiftLow [function] [call site] 00060
7 LitEnc_Encode [function] [call site] 00061
8 RangeEnc_ShiftLow [function] [call site] 00062
7 RangeEnc_ShiftLow [function] [call site] 00063
7 RangeEnc_ShiftLow [function] [call site] 00064
7 RangeEnc_ShiftLow [function] [call site] 00065
7 RangeEnc_ShiftLow [function] [call site] 00066
6 RangeEnc_ShiftLow [function] [call site] 00067
6 RangeEnc_ShiftLow [function] [call site] 00068
6 RangeEnc_ShiftLow [function] [call site] 00069
5 RangeEnc_FlushData [function] [call site] 00070
6 RangeEnc_ShiftLow [function] [call site] 00071
5 RangeEnc_FlushStream [function] [call site] 00072
5 CheckErrors [function] [call site] 00073
4 ReadMatchDistances [function] [call site] 00074
4 RangeEnc_EncodeBit_0 [function] [call site] 00075
5 RangeEnc_ShiftLow [function] [call site] 00076
4 LitEnc_Encode [function] [call site] 00077
4 GetOptimumFast [function] [call site] 00078
5 ReadMatchDistances [function] [call site] 00079
5 ReadMatchDistances [function] [call site] 00080
4 GetOptimum [function] [call site] 00081
5 ReadMatchDistances [function] [call site] 00082
5 LitEnc_Matched_GetPrice [function] [call site] 00083
5 LitEnc_GetPrice [function] [call site] 00084
5 GetPrice_PureRep [function] [call site] 00085
5 ReadMatchDistances [function] [call site] 00086
5 LitEnc_Matched_GetPrice [function] [call site] 00087
5 LitEnc_GetPrice [function] [call site] 00088
5 GetPrice_PureRep [function] [call site] 00089
5 LitEnc_Matched_GetPrice [function] [call site] 00090
5 LitEnc_Matched_GetPrice [function] [call site] 00091
4 RangeEnc_ShiftLow [function] [call site] 00093
4 LitEnc_Encode [function] [call site] 00094
4 LitEnc_EncodeMatched [function] [call site] 00095
5 RangeEnc_ShiftLow [function] [call site] 00096
4 RangeEnc_ShiftLow [function] [call site] 00097
4 RangeEnc_ShiftLow [function] [call site] 00098
4 RangeEnc_ShiftLow [function] [call site] 00099
4 RangeEnc_ShiftLow [function] [call site] 00100
4 RangeEnc_ShiftLow [function] [call site] 00101
4 RangeEnc_ShiftLow [function] [call site] 00102
4 LenEnc_Encode [function] [call site] 00103
4 RangeEnc_ShiftLow [function] [call site] 00104
4 LenEnc_Encode [function] [call site] 00105
4 RangeEnc_ShiftLow [function] [call site] 00106
4 RcTree_ReverseEncode [function] [call site] 00107
5 RangeEnc_ShiftLow [function] [call site] 00108
4 RangeEnc_ShiftLow [function] [call site] 00109
4 RangeEnc_ShiftLow [function] [call site] 00110
4 RangeEnc_ShiftLow [function] [call site] 00111
4 RangeEnc_ShiftLow [function] [call site] 00112
4 RangeEnc_ShiftLow [function] [call site] 00113
4 FillAlignPrices [function] [call site] 00114
4 FillDistancesPrices [function] [call site] 00115
4 LenPriceEnc_UpdateTables [function] [call site] 00116
4 LenPriceEnc_UpdateTables [function] [call site] 00117
4 CheckErrors [function] [call site] 00118
3 LzmaEnc_Finish [function] [call site] 00120
1 __assert_fail [call site] 00121
1 OutputBuffer::size() const [function] [call site] 00122
1 __assert_fail [call site] 00123
1 __assert_fail [call site] 00124
1 OutputBuffer::size() const [function] [call site] 00125
1 OutputBuffer::data() const [function] [call site] 00126
1 LzmaDecode [function] [call site] 00127
2 LzmaDec_AllocateProbs [function] [call site] 00128
3 LzmaProps_Decode [function] [call site] 00129
3 LzmaDec_AllocateProbs2 [function] [call site] 00130
4 LzmaDec_FreeProbs [function] [call site] 00131
2 LzmaDec_Init [function] [call site] 00132
3 LzmaDec_InitDicAndState [function] [call site] 00133
2 LzmaDec_DecodeToDic [function] [call site] 00134
3 LzmaDec_WriteRem [function] [call site] 00135
3 LzmaDec_TryDummy [function] [call site] 00136
3 LzmaDec_DecodeReal2 [function] [call site] 00137
4 LzmaDec_DecodeReal_3 [function] [call site] 00138
4 LzmaDec_WriteRem [function] [call site] 00139
3 LzmaDec_TryDummy [function] [call site] 00140
3 LzmaDec_DecodeReal2 [function] [call site] 00141
2 LzmaDec_FreeProbs [function] [call site] 00142
1 __assert_fail [call site] 00143
1 __assert_fail [call site] 00144
1 OutputBuffer::size() const [function] [call site] 00145
1 __assert_fail [call site] 00146
1 memcmp [call site] 00147
1 LzmaEnc_Destroy [function] [call site] 00148
2 LzmaEnc_Destruct [function] [call site] 00149
3 MatchFinder_Free [function] [call site] 00150
3 LzmaEnc_FreeLits [function] [call site] 00151
3 RangeEnc_Free [function] [call site] 00152