Fuzz introspector: fuzz_iolog_timing
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
33 33 1 :

['sudo_fatal_nodebug_v1']

33 33 _rs_stir call site: 00023 /src/sudo/lib/util/./arc4random.c:99
10 86 4 :

['__errno_location', 'sudo_arc4random_buf', 'mkdirat', 'openat']

10 86 mktemp_internal call site: 00049 /src/sudo/lib/util/./mktemp.c:111
10 10 2 :

['fputs', 'putc']

12 14 warning call site: 00026 /src/sudo/lib/util/./fatal.c:192
8 8 3 :

['close', 'iolog_swapids', 'openat']

10 12 iolog_openat call site: 00075 /src/sudo/lib/iolog/./iolog_openat.c:74
6 6 2 :

['__errno_location', 'close']

6 10 iolog_open call site: 00084 /src/sudo/lib/iolog/./iolog_open.c:102
5 5 1 :

['sudo_basename_v1']

14 14 initprogname2 call site: 00003 /src/sudo/lib/util/./progname.c:67
4 6 3 :

['iolog_get_compress', 'fchown', 'sudo_debug_printf2_v1']

14 20 iolog_open call site: 00066 /src/sudo/lib/iolog/./iolog_open.c:80
4 4 2 :

['fchmodat', 'fstatat']

18 20 iolog_openat call site: 00072 /src/sudo/lib/iolog/./iolog_openat.c:63
4 4 2 :

['__errno_location', 'strerror']

4 6 iolog_close call site: 00166 /src/sudo/lib/iolog/./iolog_close.c:73
2 2 1 :

['strcmp']

9 9 initprogname2 call site: 00004 /src/sudo/lib/util/./progname.c:79
2 2 1 :

['unlinkat']

2 4 iolog_open call site: 00065 /src/sudo/lib/iolog/./iolog_open.c:77
0 32 2 :

['sudo_warnx_nodebug_v1', 'sudo_warn_gettext_v1']

0 34 iolog_read_timing_record call site: 00098 /src/sudo/lib/iolog/./iolog_timing.c:259

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 initprogname [function] [call site] 00001
2 initprogname2 [function] [call site] 00002
3 sudo_getprogname [function] [call site] 00003
3 sudo_basename_v1 [function] [call site] 00004
4 strrchr [call site] 00005
3 strcmp [call site] 00006
3 sudo_setprogname [function] [call site] 00007
4 sudo_basename_v1 [function] [call site] 00008
1 getenv [call site] 00009
1 sudo_warn_set_conversation_v1 [function] [call site] 00010
1 fuzz_conversation [function] [call site] 00011
1 sudo_mkdtemp [function] [call site] 00012
2 mktemp_internal [function] [call site] 00013
3 strlen [call site] 00014
3 __errno_location [call site] 00015
3 __errno_location [call site] 00016
3 __errno_location [call site] 00017
3 sudo_arc4random_buf [function] [call site] 00018
4 _rs_random_buf [function] [call site] 00019
5 _rs_stir_if_needed [function] [call site] 00020
6 getpid [call site] 00021
6 _rs_stir [function] [call site] 00022
7 getentropy [call site] 00023
7 sudo_fatal_nodebug_v1 [function] [call site] 00024
8 warning [function] [call site] 00025
9 __errno_location [call site] 00026
9 sudo_getprogname [function] [call site] 00027
9 vsnprintf [call site] 00028
9 vsnprintf [call site] 00029
9 sudo_getprogname [function] [call site] 00030
9 fputs [call site] 00031
9 fputs [call site] 00032
9 vfprintf [call site] 00033
9 fputs [call site] 00034
9 fputs [call site] 00035
9 putc [call site] 00036
9 __errno_location [call site] 00037
8 do_cleanup [function] [call site] 00038
8 exit [call site] 00039
7 _rs_init [function] [call site] 00040
8 chacha_keysetup [function] [call site] 00041
8 chacha_ivsetup [function] [call site] 00042
7 _rs_rekey [function] [call site] 00043
8 chacha_encrypt_bytes [function] [call site] 00044
7 explicit_bzero [call site] 00046
5 _rs_rekey [function] [call site] 00047
3 openat [call site] 00048
3 mkdirat [call site] 00049
3 __errno_location [call site] 00050
1 open [call site] 00051
1 openat [call site] 00052
1 write [call site] 00053
1 iolog_open [function] [call site] 00054
2 iolog_get_uid [function] [call site] 00055
2 iolog_get_gid [function] [call site] 00056
2 sudo_debug_enter_v1 [function] [call site] 00057
2 sudo_debug_printf2_v1 [function] [call site] 00058
2 sudo_debug_exit_bool_v1 [function] [call site] 00059
2 iolog_fd_to_name [function] [call site] 00060
3 sudo_debug_enter_v1 [function] [call site] 00061
3 sudo_debug_printf2_v1 [function] [call site] 00062
3 sudo_debug_exit_str_v1 [function] [call site] 00063
2 sudo_debug_printf2_v1 [function] [call site] 00064
2 sudo_debug_exit_bool_v1 [function] [call site] 00065
2 iolog_openat [function] [call site] 00066
3 iolog_get_file_mode [function] [call site] 00067
3 iolog_get_dir_mode [function] [call site] 00068
3 sudo_debug_enter_v1 [function] [call site] 00069
3 umask [call site] 00070
3 openat [call site] 00071
3 __errno_location [call site] 00072
3 fstatat [call site] 00073
3 fchmodat [call site] 00074
3 __errno_location [call site] 00075
3 iolog_swapids [function] [call site] 00076
3 openat [call site] 00077
3 iolog_swapids [function] [call site] 00078
3 umask [call site] 00079
3 sudo_debug_exit_int_v1 [function] [call site] 00080
2 sudo_debug_printf2_v1 [function] [call site] 00081
2 iolog_get_compress [function] [call site] 00082
2 fcntl [call site] 00083
2 fdopen [call site] 00084
2 __errno_location [call site] 00085
2 __errno_location [call site] 00086
2 sudo_debug_exit_bool_v1 [function] [call site] 00087
2 unlinkat [call site] 00088
2 sudo_debug_exit_bool_v1 [function] [call site] 00089
1 iolog_read_timing_record [function] [call site] 00090
2 sudo_debug_enter_v1 [function] [call site] 00091
2 iolog_gets [function] [call site] 00092
3 sudo_debug_enter_v1 [function] [call site] 00093
3 __errno_location [call site] 00094
3 __errno_location [call site] 00095
3 fgets [call site] 00096
3 sudo_debug_exit_str_v1 [function] [call site] 00097
2 iolog_eof [function] [call site] 00098
3 sudo_debug_enter_v1 [function] [call site] 00099
3 feof [call site] 00100
3 sudo_debug_exit_int_v1 [function] [call site] 00101
2 sudo_debug_exit_int_v1 [function] [call site] 00102
2 sudo_warn_gettext_v1 [function] [call site] 00103
3 dgettext [call site] 00104
2 sudo_debug_exit_int_v1 [function] [call site] 00105
2 strcspn [call site] 00106
2 iolog_parse_timing [function] [call site] 00107
3 sudo_debug_enter_v1 [function] [call site] 00108
3 strtoul [call site] 00109
3 __ctype_b_loc [call site] 00110
3 __ctype_b_loc [call site] 00111
3 iolog_parse_delay [function] [call site] 00112
4 sudo_debug_enter_v1 [function] [call site] 00113
4 __ctype_b_loc [call site] 00114
4 sudo_debug_printf2_v1 [function] [call site] 00115
4 sudo_debug_exit_ptr_v1 [function] [call site] 00116
4 sudo_strtonum [function] [call site] 00117
5 sudo_strtonumx [function] [call site] 00118
6 __ctype_b_loc [call site] 00119
6 __ctype_b_loc [call site] 00120
6 __ctype_b_loc [call site] 00121
6 __ctype_b_loc [call site] 00122
6 __ctype_b_loc [call site] 00123
6 __errno_location [call site] 00124
6 __errno_location [call site] 00125
6 __errno_location [call site] 00126
4 sudo_debug_printf2_v1 [function] [call site] 00127
4 sudo_debug_exit_ptr_v1 [function] [call site] 00128
4 sudo_debug_printf2_v1 [function] [call site] 00129
4 sudo_debug_exit_ptr_v1 [function] [call site] 00130
4 __ctype_b_loc [call site] 00131
4 sudo_debug_printf2_v1 [function] [call site] 00132
4 sudo_debug_exit_ptr_v1 [function] [call site] 00133
4 sudo_strtonum [function] [call site] 00134
4 sudo_debug_printf2_v1 [function] [call site] 00135
4 sudo_debug_exit_ptr_v1 [function] [call site] 00136
4 __ctype_b_loc [call site] 00137
4 sudo_debug_exit_str_v1 [function] [call site] 00138
3 sudo_str2sig [function] [call site] 00139
4 __ctype_b_loc [call site] 00140
4 sudo_strtonum [function] [call site] 00141
4 __libc_current_sigrtmin [call site] 00142
4 sysconf [call site] 00143
4 __libc_current_sigrtmin [call site] 00144
4 __libc_current_sigrtmax [call site] 00145
4 __ctype_b_loc [call site] 00146
4 sysconf [call site] 00147
4 __libc_current_sigrtmax [call site] 00148
4 strcmp [call site] 00149
4 strcasecmp [call site] 00150
4 __errno_location [call site] 00151
3 strtoul [call site] 00152
3 __ctype_b_loc [call site] 00153
3 __ctype_b_loc [call site] 00154
3 strtoul [call site] 00155
3 __errno_location [call site] 00156
3 strtoul [call site] 00157
3 __errno_location [call site] 00158
3 sudo_debug_exit_bool_v1 [function] [call site] 00159
3 sudo_debug_exit_bool_v1 [function] [call site] 00160
2 sudo_warn_gettext_v1 [function] [call site] 00161
2 sudo_debug_exit_int_v1 [function] [call site] 00162
2 sudo_debug_exit_int_v1 [function] [call site] 00163
1 iolog_close [function] [call site] 00164
2 sudo_debug_enter_v1 [function] [call site] 00165
2 fclose [call site] 00166
2 __errno_location [call site] 00167
2 sudo_debug_exit_bool_v1 [function] [call site] 00168
1 unlinkat [call site] 00169
1 fflush [call site] 00170