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 :

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

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

['__errno_location', 'strlen', '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: 00053 /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: 00043 /work/build/../../src/casync/src/compressor.c:260
0 0 None 57 57 compressor_decode call site: 00043 /work/build/../../src/casync/src/compressor.c:264
0 0 None 53 53 compressor_input call site: 00039 /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: 00043 /work/build/../../src/casync/src/compressor.c:267
0 0 None 0 0 compressor_decode call site: 00046 /work/build/../../src/casync/src/compressor.c:283
0 0 None 0 0 compressor_decode call site: 00046 /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 stpcpy [call site] 00028
4 __errno_location [call site] 00029
4 vfprintf [call site] 00030
4 __errno_location [call site] 00031
2 abort [call site] 00032
1 log_debug_errno [function] [call site] 00033
2 log_fullv [function] [call site] 00034
1 log_info_errno [function] [call site] 00035
2 log_fullv [function] [call site] 00036
1 log_oom [function] [call site] 00037
2 log_error_errno [function] [call site] 00038
1 compressor_input [function] [call site] 00039
2 log_error_errno [function] [call site] 00040
2 abort [call site] 00041
1 log_debug_errno [function] [call site] 00042
1 compressor_decode [function] [call site] 00043
2 __assert_fail [call site] 00044
2 __assert_fail [call site] 00045
2 lzma_code [call site] 00046
2 __assert_fail [call site] 00047
2 __assert_fail [call site] 00048
2 inflate [call site] 00049
2 log_error_errno [function] [call site] 00050
2 abort [call site] 00051
1 log_debug_errno [function] [call site] 00052
1 compressor_finish [function] [call site] 00053
2 lzma_end [call site] 00054
2 inflateEnd [call site] 00055
2 deflateEnd [call site] 00056
2 log_error_errno [function] [call site] 00057
2 abort [call site] 00058
2 log_error_errno [function] [call site] 00059
2 abort [call site] 00060