Fuzz introspector: fuzz-compress
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
55 55 3 :

['log_error_errno', 'deflateEnd', 'abort']

55 55 compressor_finish call site: 00052 /work/build/../../src/casync/src/compressor.c:187
16 16 4 :

['strlen', '__errno_location', 'stpcpy', 'endswith']

16 16 log_fullv call site: 00009 /work/build/../../src/casync/src/log.c:72
0 0 None 112 112 compressor_finish call site: 00051 /work/build/../../src/casync/src/compressor.c:172
0 0 None 57 57 compressor_start_decode call site: 00003 /work/build/../../src/casync/src/compressor.c:60
0 0 None 57 57 compressor_decode call site: 00042 /work/build/../../src/casync/src/compressor.c:260
0 0 None 57 57 compressor_decode call site: 00042 /work/build/../../src/casync/src/compressor.c:264
0 0 None 53 53 compressor_input call site: 00038 /work/build/../../src/casync/src/compressor.c:214
0 0 None 0 0 compressor_start_decode call site: 00004 /work/build/../../src/casync/src/compressor.c:74
0 0 None 0 0 compressor_start_decode call site: 00005 /work/build/../../src/casync/src/compressor.c:85
0 0 None 0 0 compressor_decode call site: 00042 /work/build/../../src/casync/src/compressor.c:267
0 0 None 0 0 compressor_decode call site: 00045 /work/build/../../src/casync/src/compressor.c:283
0 0 None 0 0 compressor_decode call site: 00045 /work/build/../../src/casync/src/compressor.c:296

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 getenv [call site] 00001
1 set_log_level [function] [call site] 00002
1 compressor_start_decode [function] [call site] 00003
2 lzma_stream_decoder [call site] 00004
2 inflateInit2_ [call site] 00005
2 log_error_errno [function] [call site] 00006
3 log_fullv [function] [call site] 00007
4 __errno_location [call site] 00008
4 get_log_level [function] [call site] 00009
5 getenv [call site] 00010
5 set_log_level_from_string [function] [call site] 00011
6 level_from_string [function] [call site] 00012
7 strv_find [function] [call site] 00013
8 __assert_fail [call site] 00014
8 strcmp [call site] 00015
7 strv_find [function] [call site] 00016
7 strv_find [function] [call site] 00017
7 strv_find [function] [call site] 00018
7 strv_find [function] [call site] 00019
7 strv_find [function] [call site] 00020
7 strv_find [function] [call site] 00021
7 strv_find [function] [call site] 00022
4 endswith [function] [call site] 00023
5 strlen [call site] 00024
5 strlen [call site] 00025
5 strcmp [call site] 00026
4 strlen [call site] 00027
4 __errno_location [call site] 00028
4 vfprintf [call site] 00029
4 __errno_location [call site] 00030
2 abort [call site] 00031
1 log_debug_errno [function] [call site] 00032
2 log_fullv [function] [call site] 00033
1 log_info_errno [function] [call site] 00034
2 log_fullv [function] [call site] 00035
1 log_oom [function] [call site] 00036
2 log_error_errno [function] [call site] 00037
1 compressor_input [function] [call site] 00038
2 log_error_errno [function] [call site] 00039
2 abort [call site] 00040
1 log_debug_errno [function] [call site] 00041
1 compressor_decode [function] [call site] 00042
2 __assert_fail [call site] 00043
2 __assert_fail [call site] 00044
2 lzma_code [call site] 00045
2 __assert_fail [call site] 00046
2 inflate [call site] 00047
2 log_error_errno [function] [call site] 00048
2 abort [call site] 00049
1 log_debug_errno [function] [call site] 00050
1 compressor_finish [function] [call site] 00051
2 lzma_end [call site] 00052
2 inflateEnd [call site] 00053
2 deflateEnd [call site] 00054
2 log_error_errno [function] [call site] 00055
2 abort [call site] 00056
2 log_error_errno [function] [call site] 00057
2 abort [call site] 00058