Fuzz introspector: datetime_strptime_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
46 8309 8 :

['__ctype_b_loc', 'first_wday_of', 'strlcpy', 'strncasecmp', 'tnt_strptime', 'strlen', 'timezone_tm_lookup', 'strtol']

46 8309 tnt_strptime call site: 00021 /src/tarantool/src/lib/tzcode/strptime.c:150
46 8309 8 :

['__ctype_b_loc', 'first_wday_of', 'strlcpy', 'strncasecmp', 'tnt_strptime', 'strlen', 'timezone_tm_lookup', 'strtol']

46 8309 tnt_strptime call site: 00021 /src/tarantool/src/lib/tzcode/strptime.c:169
25 25 1 :

['gmtsub']

25 25 localsub call site: 00164 /src/tarantool/src/lib/tzcode/localtime.c:1431
3 3 1 :

['getqzname']

3 150 tzparse call site: 00104 /src/tarantool/src/lib/tzcode/localtime.c:1106
2 2 1 :

['__errno_location']

2 2 tzloadbody call site: 00082 /src/tarantool/src/lib/tzcode/localtime.c:398
2 2 1 :

['update_tzname_etc']

2 2 localsub call site: 00173 /src/tarantool/src/lib/tzcode/localtime.c:1504
0 289 1 :

['tzload']

3 447 tzparse call site: 00099 /src/tarantool/src/lib/tzcode/localtime.c:1092
0 56 1 :

['mh_strnptr_put']

0 56 mh_strnptr_put call site: 00000 /src/tarantool/src/lib/salad/mhash.h:319
0 12 1 :

['getnum']

0 12 getsecs call site: 00101 /src/tarantool/src/lib/tzcode/localtime.c:860
0 0 None 30 467 tzloadbody call site: 00071 /src/tarantool/src/lib/tzcode/localtime.c:346
0 0 None 30 467 tzloadbody call site: 00071 /src/tarantool/src/lib/tzcode/localtime.c:352
0 0 None 8 439 tzloadbody call site: 00092 /src/tarantool/src/lib/tzcode/localtime.c:489

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 datetime_strptime [function] [call site] 00001
2 __assert_fail [call site] 00002
2 __assert_fail [call site] 00003
2 __assert_fail [call site] 00004
2 datetime_to_tm [function] [call site] 00005
3 local_secs [function] [call site] 00006
3 local_dt [function] [call site] 00007
4 tnt_dt_from_rdn [function] [call site] 00008
3 tnt_dt_to_struct_tm [function] [call site] 00009
4 tnt_dt_to_ymd [function] [call site] 00010
5 tnt_dt_to_yd [function] [call site] 00011
5 __assert_fail [call site] 00012
5 __assert_fail [call site] 00013
4 tnt_dt_dow [function] [call site] 00014
5 __assert_fail [call site] 00015
5 __assert_fail [call site] 00016
4 tnt_dt_from_yd [function] [call site] 00017
2 tnt_strptime [function] [call site] 00018
3 __ctype_b_loc [call site] 00019
3 __ctype_b_loc [call site] 00020
3 tnt_strptime [function] [call site] 00021
4 tnt_strptime [function] [call site] 00022
5 tnt_strptime [function] [call site] 00023
6 tnt_strptime [function] [call site] 00024
7 tnt_strptime [function] [call site] 00025
8 tnt_strptime [function] [call site] 00026
9 tnt_strptime [function] [call site] 00027
10 tnt_strptime [function] [call site] 00028
11 tnt_strptime [function] [call site] 00029
12 tnt_strptime [function] [call site] 00030
13 __ctype_b_loc [call site] 00031
13 __ctype_b_loc [call site] 00032
13 strlen [call site] 00033
13 strncasecmp [call site] 00034
13 strlen [call site] 00035
13 strncasecmp [call site] 00036
13 strlen [call site] 00037
13 strncasecmp [call site] 00038
13 strlen [call site] 00039
13 strncasecmp [call site] 00040
13 __ctype_b_loc [call site] 00041
13 strlen [call site] 00042
13 strncasecmp [call site] 00043
13 strlen [call site] 00044
13 strncasecmp [call site] 00045
13 strlen [call site] 00046
13 strncasecmp [call site] 00047
13 strtol [call site] 00048
13 __ctype_b_loc [call site] 00049
13 __ctype_b_loc [call site] 00050
13 strlcpy [function] [call site] 00051
14 strlen [call site] 00052
13 timezone_tm_lookup [function] [call site] 00053
14 timezone_raw_lookup [function] [call site] 00054
15 char_span_alpha [function] [call site] 00055
16 __ctype_b_loc [call site] 00056
16 __ctype_b_loc [call site] 00057
15 bsearch [call site] 00058
15 compare_zones [function] [call site] 00059
16 strcasecmp [call site] 00060
15 __assert_fail [call site] 00061
14 timezone_alloc [function] [call site] 00062
15 __assert_fail [call site] 00063
15 strcmp [call site] 00064
15 tzalloc [function] [call site] 00066
16 zoneinit [function] [call site] 00067
17 init_ttinfo [function] [call site] 00068
17 tzload [function] [call site] 00070
18 tzloadbody [function] [call site] 00071
19 strlen [call site] 00072
19 strchr [call site] 00074
19 access [call site] 00075
19 __errno_location [call site] 00076
19 open64 [call site] 00077
19 __errno_location [call site] 00078
19 read [call site] 00079
19 __errno_location [call site] 00080
19 close [call site] 00081
19 close [call site] 00082
19 __errno_location [call site] 00083
19 detzcode [function] [call site] 00084
19 detzcode [function] [call site] 00085
19 detzcode [function] [call site] 00086
19 detzcode [function] [call site] 00087
19 detzcode [function] [call site] 00088
19 detzcode [function] [call site] 00089
19 detzcode [function] [call site] 00090
19 detzcode64 [function] [call site] 00091
19 detzcode [function] [call site] 00092
19 detzcode [function] [call site] 00093
19 detzcode64 [function] [call site] 00094
19 detzcode [function] [call site] 00095
19 tzparse [function] [call site] 00096
20 getqzname [function] [call site] 00097
20 getzname [function] [call site] 00098
20 getqzname [function] [call site] 00105
20 getzname [function] [call site] 00106
20 getoffset [function] [call site] 00107
20 init_ttinfo [function] [call site] 00116
20 init_ttinfo [function] [call site] 00117
20 increment_overflow_time [function] [call site] 00118
20 increment_overflow_time [function] [call site] 00119
20 increment_overflow [function] [call site] 00120
20 increment_overflow [function] [call site] 00121
20 transtime [function] [call site] 00122
20 transtime [function] [call site] 00123
20 increment_overflow_time [function] [call site] 00124
20 increment_overflow_time [function] [call site] 00125
20 increment_overflow [function] [call site] 00126
20 increment_overflow_time [function] [call site] 00127
20 init_ttinfo [function] [call site] 00128
20 init_ttinfo [function] [call site] 00129
20 init_ttinfo [function] [call site] 00130
19 strcmp [call site] 00131
19 strlen [call site] 00132
19 leapcorr [function] [call site] 00134
19 increment_overflow_time [function] [call site] 00135
19 typesequiv [function] [call site] 00136
20 strcmp [call site] 00137
19 typesequiv [function] [call site] 00138
19 ttunspecified [function] [call site] 00139
20 memcmp [call site] 00140
17 scrub_abbrs [function] [call site] 00142
18 strchr [call site] 00143
18 strlen [call site] 00144
18 strcmp [call site] 00145
16 __errno_location [call site] 00146
15 strlen [call site] 00147
15 __assert_fail [call site] 00148
14 tm_to_datetime [function] [call site] 00150
15 __assert_fail [call site] 00151
15 __assert_fail [call site] 00152
15 __assert_fail [call site] 00153
15 __assert_fail [call site] 00154
15 tnt_dt_from_ymd_checked [function] [call site] 00155
16 tnt_dt_days_in_month [function] [call site] 00156
17 tnt_dt_leap_year [function] [call site] 00157
16 dt_from_yd_checked [function] [call site] 00158
17 dt64_from_yd [function] [call site] 00159
18 tnt_dt_days_in_year [function] [call site] 00160
19 tnt_dt_leap_year [function] [call site] 00161
17 __assert_fail [call site] 00162
14 tnt_localtime_rz [function] [call site] 00163
15 localsub [function] [call site] 00164
16 gmtsub [function] [call site] 00165
17 timesub [function] [call site] 00166
18 leaps_thru_end_of [function] [call site] 00167
19 leaps_thru_end_of_nonneg [function] [call site] 00168
19 leaps_thru_end_of_nonneg [function] [call site] 00169
18 __errno_location [call site] 00170
18 leaps_thru_end_of [function] [call site] 00171
18 leaps_thru_end_of [function] [call site] 00172
16 localsub [function] [call site] 00173
17 update_tzname_etc [function] [call site] 00175
13 __ctype_b_loc [call site] 00176
13 first_wday_of [function] [call site] 00177
13 first_wday_of [function] [call site] 00178
2 tm_to_datetime [function] [call site] 00179