Fuzz introspector: libfwnt_lzx_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
16 16 5 :

['free', 'libcerror_error_resize', 'libcerror_error_initialize', 'strlen', 'realloc']

16 16 libcerror_error_set call site: 00002 /src/libcaes/libcerror/libcerror_error.c:328
0 70 2 :

['libcerror_error_set', 'libfwnt_huffman_tree_free']

0 70 libfwnt_lzx_read_huffman_code_sizes call site: 00111 /src/libfsntfs/libfwnt/libfwnt_lzx.c:333
0 32 2 :

['free', 'libcerror_error_set']

0 32 libfwnt_bit_stream_initialize call site: 00019 /src/libfsntfs/libfwnt/libfwnt_bit_stream.c:99
0 32 1 :

['libcerror_error_set']

0 32 libfwnt_bit_stream_free call site: 00169 /src/libfsntfs/libfwnt/libfwnt_bit_stream.c:138
0 32 1 :

['libcerror_error_set']

0 32 libfwnt_bit_stream_read call site: 00027 /src/libfsntfs/libfwnt/libfwnt_bit_stream.c:180
0 32 1 :

['libcerror_error_set']

0 32 libfwnt_bit_stream_get_value call site: 00026 /src/libfsntfs/libfwnt/libfwnt_bit_stream.c:270
0 32 2 :

['free', 'libcerror_error_set']

0 32 libfwnt_huffman_tree_initialize call site: 00054 /src/libfsntfs/libfwnt/libfwnt_huffman_tree.c:168
0 32 1 :

['libcerror_error_set']

0 32 libfwnt_huffman_tree_free call site: 00111 /src/libfsntfs/libfwnt/libfwnt_huffman_tree.c:216
0 0 None 0 1902 libfwnt_lzx_decompress call site: 00034 /src/libfsntfs/libfwnt/libfwnt_lzx.c:1022
0 0 None 0 1902 libfwnt_lzx_decompress call site: 00161 /src/libfsntfs/libfwnt/libfwnt_lzx.c:1337
0 0 None 0 852 libfwnt_lzx_read_huffman_code_sizes call site: 00080 /src/libfsntfs/libfwnt/libfwnt_lzx.c:106
0 0 None 0 770 libfwnt_lzx_read_huffman_code_sizes call site: 00081 /src/libfsntfs/libfwnt/libfwnt_lzx.c:116

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 libfwnt_lzx_decompress [function] [call site] 00001
2 libcerror_error_set [function] [call site] 00002
3 strlen [call site] 00003
3 libcerror_error_initialize [function] [call site] 00004
3 libcerror_error_resize [function] [call site] 00005
4 realloc [call site] 00006
4 realloc [call site] 00007
3 realloc [call site] 00008
3 vsnprintf [call site] 00009
2 libcerror_error_set [function] [call site] 00010
2 libcerror_error_set [function] [call site] 00011
2 libcerror_error_set [function] [call site] 00012
2 libcerror_error_set [function] [call site] 00013
2 libfwnt_bit_stream_initialize [function] [call site] 00014
3 libcerror_error_set [function] [call site] 00015
3 libcerror_error_set [function] [call site] 00016
3 libcerror_error_set [function] [call site] 00017
3 libcerror_error_set [function] [call site] 00018
3 libcerror_error_set [function] [call site] 00019
3 libcerror_error_set [function] [call site] 00020
2 libcerror_error_set [function] [call site] 00021
2 libfwnt_bit_stream_get_value [function] [call site] 00022
3 libcerror_error_set [function] [call site] 00023
3 libcerror_error_set [function] [call site] 00024
3 libcerror_error_set [function] [call site] 00025
3 libfwnt_bit_stream_read [function] [call site] 00026
4 libcerror_error_set [function] [call site] 00027
4 libcerror_error_set [function] [call site] 00028
3 libcerror_error_set [function] [call site] 00029
2 libcerror_error_set [function] [call site] 00030
2 libfwnt_bit_stream_get_value [function] [call site] 00031
2 libcerror_error_set [function] [call site] 00032
2 libfwnt_bit_stream_get_value [function] [call site] 00033
2 libcerror_error_set [function] [call site] 00034
2 libcnotify_printf [function] [call site] 00035
3 vfprintf [call site] 00036
2 libcnotify_printf [function] [call site] 00037
2 libcnotify_printf [function] [call site] 00038
2 libcnotify_printf [function] [call site] 00039
2 libcnotify_printf [function] [call site] 00040
2 libcnotify_printf [function] [call site] 00041
2 libcnotify_printf [function] [call site] 00042
2 libcnotify_printf [function] [call site] 00043
2 libcerror_error_set [function] [call site] 00044
2 libfwnt_huffman_tree_initialize [function] [call site] 00045
3 libcerror_error_set [function] [call site] 00046
3 libcerror_error_set [function] [call site] 00047
3 libcerror_error_set [function] [call site] 00048
3 libcerror_error_set [function] [call site] 00049
3 libcerror_error_set [function] [call site] 00050
3 libcerror_error_set [function] [call site] 00051
3 libcerror_error_set [function] [call site] 00052
3 libcerror_error_set [function] [call site] 00053
3 libcerror_error_set [function] [call site] 00054
3 libcerror_error_set [function] [call site] 00055
2 libcerror_error_set [function] [call site] 00056
2 libfwnt_lzx_build_aligned_offsets_huffman_tree [function] [call site] 00057
3 libfwnt_bit_stream_get_value [function] [call site] 00058
3 libcerror_error_set [function] [call site] 00059
3 libcnotify_printf [function] [call site] 00060
3 libfwnt_huffman_tree_build [function] [call site] 00061
4 libcerror_error_set [function] [call site] 00062
4 libcerror_error_set [function] [call site] 00063
4 libcerror_error_set [function] [call site] 00064
4 libcerror_error_set [function] [call site] 00065
4 libcerror_error_set [function] [call site] 00066
4 libcerror_error_set [function] [call site] 00067
4 libcerror_error_set [function] [call site] 00068
4 libcerror_error_set [function] [call site] 00069
3 libcerror_error_set [function] [call site] 00070
2 libcerror_error_set [function] [call site] 00071
2 libcerror_error_set [function] [call site] 00072
2 libcerror_error_set [function] [call site] 00073
2 libfwnt_huffman_tree_initialize [function] [call site] 00074
2 libcerror_error_set [function] [call site] 00075
2 libfwnt_lzx_build_main_huffman_tree [function] [call site] 00076
3 libfwnt_lzx_read_huffman_code_sizes [function] [call site] 00077
4 libcerror_error_set [function] [call site] 00078
4 libfwnt_bit_stream_get_value [function] [call site] 00079
4 libcerror_error_set [function] [call site] 00080
4 libcnotify_printf [function] [call site] 00081
4 libcnotify_printf [function] [call site] 00082
4 libfwnt_huffman_tree_initialize [function] [call site] 00083
4 libcerror_error_set [function] [call site] 00084
4 libfwnt_huffman_tree_build [function] [call site] 00085
4 libcerror_error_set [function] [call site] 00086
4 libfwnt_huffman_tree_get_symbol_from_bit_stream [function] [call site] 00087
5 libcerror_error_set [function] [call site] 00088
5 libcerror_error_set [function] [call site] 00089
5 libcerror_error_set [function] [call site] 00090
5 libfwnt_bit_stream_read [function] [call site] 00091
5 libfwnt_bit_stream_get_value [function] [call site] 00092
5 libcerror_error_set [function] [call site] 00093
5 libcerror_error_set [function] [call site] 00094
4 libcerror_error_set [function] [call site] 00095
4 libcnotify_printf [function] [call site] 00096
4 libcnotify_printf [function] [call site] 00097
4 libfwnt_bit_stream_get_value [function] [call site] 00098
4 libcerror_error_set [function] [call site] 00099
4 libfwnt_bit_stream_get_value [function] [call site] 00100
4 libcerror_error_set [function] [call site] 00101
4 libfwnt_bit_stream_get_value [function] [call site] 00102
4 libcerror_error_set [function] [call site] 00103
4 libfwnt_huffman_tree_get_symbol_from_bit_stream [function] [call site] 00104
4 libcerror_error_set [function] [call site] 00105
4 libcerror_error_set [function] [call site] 00106
4 libcerror_error_set [function] [call site] 00107
4 libcnotify_printf [function] [call site] 00108
4 libcnotify_printf [function] [call site] 00109
4 libcnotify_printf [function] [call site] 00110
4 libfwnt_huffman_tree_free [function] [call site] 00111
5 libcerror_error_set [function] [call site] 00112
4 libcerror_error_set [function] [call site] 00113
4 libcnotify_printf [function] [call site] 00114
4 libfwnt_huffman_tree_free [function] [call site] 00115
3 libcerror_error_set [function] [call site] 00116
3 libfwnt_lzx_read_huffman_code_sizes [function] [call site] 00117
3 libcerror_error_set [function] [call site] 00118
3 libfwnt_huffman_tree_build [function] [call site] 00119
3 libcerror_error_set [function] [call site] 00120
2 libcerror_error_set [function] [call site] 00121
2 libfwnt_huffman_tree_initialize [function] [call site] 00122
2 libcerror_error_set [function] [call site] 00123
2 libfwnt_lzx_build_lengths_huffman_tree [function] [call site] 00124
3 libfwnt_lzx_read_huffman_code_sizes [function] [call site] 00125
3 libcerror_error_set [function] [call site] 00126
3 libfwnt_huffman_tree_build [function] [call site] 00127
3 libcerror_error_set [function] [call site] 00128
2 libcerror_error_set [function] [call site] 00129
2 libfwnt_lzx_decode_huffman [function] [call site] 00130
3 libcerror_error_set [function] [call site] 00131
3 libcerror_error_set [function] [call site] 00132
3 libcerror_error_set [function] [call site] 00133
3 libfwnt_huffman_tree_get_symbol_from_bit_stream [function] [call site] 00134
3 libcerror_error_set [function] [call site] 00135
3 libcnotify_printf [function] [call site] 00136
3 libcerror_error_set [function] [call site] 00137
3 libfwnt_huffman_tree_get_symbol_from_bit_stream [function] [call site] 00138
3 libcerror_error_set [function] [call site] 00139
3 libcnotify_printf [function] [call site] 00140
3 libfwnt_bit_stream_get_value [function] [call site] 00141
3 libcerror_error_set [function] [call site] 00142
3 libfwnt_huffman_tree_get_symbol_from_bit_stream [function] [call site] 00143
3 libcerror_error_set [function] [call site] 00144
3 libcnotify_printf [function] [call site] 00145
3 libcnotify_printf [function] [call site] 00146
3 libcnotify_printf [function] [call site] 00147
3 libcnotify_printf [function] [call site] 00148
3 libcerror_error_set [function] [call site] 00149
3 libcerror_error_set [function] [call site] 00150
2 libcerror_error_set [function] [call site] 00151
2 libfwnt_huffman_tree_free [function] [call site] 00152
2 libcerror_error_set [function] [call site] 00153
2 libfwnt_huffman_tree_free [function] [call site] 00154
2 libcerror_error_set [function] [call site] 00155
2 libfwnt_huffman_tree_free [function] [call site] 00156
2 libcerror_error_set [function] [call site] 00157
2 libcerror_error_set [function] [call site] 00158
2 libcerror_error_set [function] [call site] 00159
2 libcerror_error_set [function] [call site] 00160
2 libcerror_error_set [function] [call site] 00161
2 libcnotify_printf [function] [call site] 00162
2 libcnotify_printf [function] [call site] 00163
2 libcnotify_printf [function] [call site] 00164
2 libcnotify_printf [function] [call site] 00165
2 libcerror_error_set [function] [call site] 00166
2 libcerror_error_set [function] [call site] 00167
2 libcerror_error_set [function] [call site] 00168
2 libfwnt_bit_stream_free [function] [call site] 00169
3 libcerror_error_set [function] [call site] 00170
2 libcerror_error_set [function] [call site] 00171
2 libfwnt_lzx_decompress_adjust_call_instructions [function] [call site] 00172
3 libcerror_error_set [function] [call site] 00173
3 libcerror_error_set [function] [call site] 00174
2 libcerror_error_set [function] [call site] 00175
2 libfwnt_huffman_tree_free [function] [call site] 00176
2 libfwnt_huffman_tree_free [function] [call site] 00177
2 libfwnt_huffman_tree_free [function] [call site] 00178
2 libfwnt_bit_stream_free [function] [call site] 00179