Fuzz introspector: libfwnt_lzxpress_huffman_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 72 2 :

['libfwnt_bit_stream_read', 'libcerror_error_set']

0 72 libfwnt_bit_stream_get_value call site: 00060 /src/libfsntfs/libfwnt/libfwnt_bit_stream.c:268
0 70 2 :

['libcerror_error_set', 'libfwnt_huffman_tree_free']

0 70 libfwnt_lzxpress_huffman_decompress_chunk call site: 00077 /src/libfsntfs/libfwnt/libfwnt_lzxpress.c:922
0 68 2 :

['libfwnt_bit_stream_free', 'libcerror_error_set']

0 68 libfwnt_lzxpress_huffman_decompress call site: 00082 /src/libfsntfs/libfwnt/libfwnt_lzxpress.c:1015
0 32 2 :

['free', 'libcerror_error_set']

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

['libcerror_error_set']

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

['libcerror_error_set']

0 32 libfwnt_bit_stream_read call site: 00048 /src/libfsntfs/libfwnt/libfwnt_bit_stream.c:180
0 32 2 :

['free', 'libcerror_error_set']

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

['libcerror_error_set']

0 32 libfwnt_huffman_tree_free call site: 00077 /src/libfsntfs/libfwnt/libfwnt_huffman_tree.c:216
0 0 None 0 589 libfwnt_lzxpress_huffman_decompress_chunk call site: 00050 /src/libfsntfs/libfwnt/libfwnt_lzxpress.c:590
0 0 None 0 114 libfwnt_huffman_tree_get_symbol_from_bit_stream call site: 00056 /src/libfsntfs/libfwnt/libfwnt_huffman_tree.c:528
0 0 None 0 70 libfwnt_lzxpress_huffman_decompress_chunk call site: 00025 /src/libfsntfs/libfwnt/libfwnt_lzxpress.c:544

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 libfwnt_lzxpress_huffman_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 libfwnt_bit_stream_initialize [function] [call site] 00010
3 libcerror_error_set [function] [call site] 00011
3 libcerror_error_set [function] [call site] 00012
3 libcerror_error_set [function] [call site] 00013
3 libcerror_error_set [function] [call site] 00014
3 libcerror_error_set [function] [call site] 00015
3 libcerror_error_set [function] [call site] 00016
2 libcerror_error_set [function] [call site] 00017
2 libfwnt_lzxpress_huffman_decompress_chunk [function] [call site] 00018
3 libcerror_error_set [function] [call site] 00019
3 libcerror_error_set [function] [call site] 00020
3 libcerror_error_set [function] [call site] 00021
3 libcerror_error_set [function] [call site] 00022
3 libcerror_error_set [function] [call site] 00023
3 libcerror_error_set [function] [call site] 00024
3 libfwnt_huffman_tree_initialize [function] [call site] 00025
4 libcerror_error_set [function] [call site] 00026
4 libcerror_error_set [function] [call site] 00027
4 libcerror_error_set [function] [call site] 00028
4 libcerror_error_set [function] [call site] 00029
4 libcerror_error_set [function] [call site] 00030
4 libcerror_error_set [function] [call site] 00031
4 libcerror_error_set [function] [call site] 00032
4 libcerror_error_set [function] [call site] 00033
4 libcerror_error_set [function] [call site] 00034
4 libcerror_error_set [function] [call site] 00035
3 libcerror_error_set [function] [call site] 00036
3 libfwnt_huffman_tree_build [function] [call site] 00037
4 libcerror_error_set [function] [call site] 00038
4 libcerror_error_set [function] [call site] 00039
4 libcerror_error_set [function] [call site] 00040
4 libcerror_error_set [function] [call site] 00041
4 libcerror_error_set [function] [call site] 00042
4 libcerror_error_set [function] [call site] 00043
4 libcerror_error_set [function] [call site] 00044
4 libcerror_error_set [function] [call site] 00045
3 libcerror_error_set [function] [call site] 00046
3 libfwnt_bit_stream_read [function] [call site] 00047
4 libcerror_error_set [function] [call site] 00048
4 libcerror_error_set [function] [call site] 00049
3 libcerror_error_set [function] [call site] 00050
3 libfwnt_huffman_tree_get_symbol_from_bit_stream [function] [call site] 00051
4 libcerror_error_set [function] [call site] 00052
4 libcerror_error_set [function] [call site] 00053
4 libcerror_error_set [function] [call site] 00054
4 libfwnt_bit_stream_read [function] [call site] 00055
4 libcerror_error_set [function] [call site] 00056
4 libfwnt_bit_stream_get_value [function] [call site] 00057
5 libcerror_error_set [function] [call site] 00058
5 libcerror_error_set [function] [call site] 00059
5 libcerror_error_set [function] [call site] 00060
5 libfwnt_bit_stream_read [function] [call site] 00061
5 libcerror_error_set [function] [call site] 00062
4 libcerror_error_set [function] [call site] 00063
4 libcerror_error_set [function] [call site] 00064
3 libcerror_error_set [function] [call site] 00065
3 libfwnt_bit_stream_read [function] [call site] 00066
3 libcerror_error_set [function] [call site] 00067
3 libfwnt_bit_stream_get_value [function] [call site] 00068
3 libcerror_error_set [function] [call site] 00069
3 libcerror_error_set [function] [call site] 00070
3 libcerror_error_set [function] [call site] 00071
3 libcerror_error_set [function] [call site] 00072
3 libcerror_error_set [function] [call site] 00073
3 libcerror_error_set [function] [call site] 00074
3 libfwnt_bit_stream_read [function] [call site] 00075
3 libcerror_error_set [function] [call site] 00076
3 libfwnt_huffman_tree_free [function] [call site] 00077
4 libcerror_error_set [function] [call site] 00078
3 libcerror_error_set [function] [call site] 00079
3 libfwnt_huffman_tree_free [function] [call site] 00080
2 libcerror_error_set [function] [call site] 00081
2 libfwnt_bit_stream_free [function] [call site] 00082
3 libcerror_error_set [function] [call site] 00083
2 libcerror_error_set [function] [call site] 00084
2 libfwnt_bit_stream_free [function] [call site] 00085