Fuzz introspector: fuzz_cpuinfo
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
0 0 None 10 10 cpuinfo_linux_parse_multiline_file call site: 00014 /src/cpuinfo/src/linux/multiline.c:64
0 0 None 10 10 cpuinfo_linux_parse_multiline_file call site: 00014 /src/cpuinfo/src/linux/multiline.c:85
0 0 None 8 8 cpuinfo_linux_parse_multiline_file call site: 00007 /src/cpuinfo/src/linux/multiline.c:33
0 0 None 8 8 cpuinfo_linux_parse_multiline_file call site: 00011 /src/cpuinfo/src/linux/multiline.c:50
0 0 None 6 6 cpuinfo_linux_parse_small_file call site: 00033 /src/cpuinfo/src/linux/smallfile.c:37
0 0 None 6 6 cpuinfo_linux_parse_small_file call site: 00036 /src/cpuinfo/src/linux/smallfile.c:50
0 0 1 :

['malloc']

2 2 cpuinfo_vlog call site: 00043 /src/cpuinfo/src/log.c:79
0 0 None 0 15 uint32_parser call site: 00047 /src/cpuinfo/src/linux/processors.c:96
0 0 None 0 2 parse_processor_number call site: 00024 /src/cpuinfo/src/x86/linux/cpuinfo.c:20

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 sprintf [call site] 00001
1 fopen [call site] 00002
1 fwrite [call site] 00003
1 fclose [call site] 00004
1 cpuinfo_x86_linux_parse_proc_cpuinfo [function] [call site] 00005
2 cpuinfo_linux_parse_multiline_file [function] [call site] 00006
3 open [call site] 00007
3 __errno_location [call site] 00008
3 strerror [call site] 00009
3 cpuinfo_log_info [function] [call site] 00010
3 read [call site] 00011
3 __errno_location [call site] 00012
3 strerror [call site] 00013
3 cpuinfo_log_info [function] [call site] 00014
3 close [call site] 00015
2 parse_line [function] [call site] 00016
3 cpuinfo_log_debug [function] [call site] 00017
3 cpuinfo_log_debug [function] [call site] 00018
3 cpuinfo_log_debug [function] [call site] 00019
3 memcmp [call site] 00020
3 parse_apic_id [function] [call site] 00021
4 cpuinfo_log_warning [function] [call site] 00022
3 memcmp [call site] 00023
3 parse_processor_number [function] [call site] 00024
4 cpuinfo_log_warning [function] [call site] 00025
4 cpuinfo_log_warning [function] [call site] 00026
3 cpuinfo_log_warning [function] [call site] 00027
3 cpuinfo_log_warning [function] [call site] 00028
3 cpuinfo_log_warning [function] [call site] 00029
3 cpuinfo_log_debug [function] [call site] 00030
1 cpuinfo_linux_get_max_processors_count [function] [call site] 00031
2 cpuinfo_linux_parse_small_file [function] [call site] 00032
3 open [call site] 00033
3 __errno_location [call site] 00034
3 strerror [call site] 00035
3 cpuinfo_log_info [function] [call site] 00036
3 __errno_location [call site] 00037
3 strerror [call site] 00038
3 cpuinfo_log_error [function] [call site] 00039
4 cpuinfo_vlog_error [function] [call site] 00040
5 cpuinfo_vlog [function] [call site] 00041
6 __assert_fail [call site] 00042
6 vsnprintf [call site] 00043
6 vsnprintf [call site] 00044
6 write [call site] 00045
3 close [call site] 00046
2 uint32_parser [function] [call site] 00047
3 cpuinfo_log_error [function] [call site] 00048
3 parse_number [function] [call site] 00049
3 cpuinfo_log_error [function] [call site] 00050
3 is_whitespace [function] [call site] 00051
3 cpuinfo_log_warning [function] [call site] 00052
2 cpuinfo_log_warning [function] [call site] 00053
2 cpuinfo_log_warning [function] [call site] 00054
1 unlink [call site] 00055