Fuzz introspector: fuzz_iter
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
10 111 croniter.croniter._get_next call site: {node_id} croniter.croniter._datetime_to_timestamp
8 78 croniter.croniter._datetime_to_timestamp call site: {node_id} time.time.microseconds.replace
4 34 croniter.croniter._expand call site: {node_id} .int
4 46 croniter.croniter._expand call site: {node_id} .len
2 39 croniter.croniter._expand call site: {node_id} .max
2 100 croniter.croniter._timestamp_to_datetime call site: {node_id} dateutil.tz.tzutc
2 108 croniter.croniter._get_next call site: {node_id} dtstarttime.utcoffset
1 22 croniter.croniter._expand call site: {node_id} .str
1 25 croniter.croniter._expand call site: {node_id} .str
1 70 croniter.croniter.__init__ call site: {node_id} hash_id.encode
1 73 croniter.croniter.__init__ call site: {node_id} time.time

Fuzzer calltree

0 ...fuzz_iter.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00001
1 datetime.datetime [function] [call site] 00002
1 fdp.ConsumeString [function] [call site] 00003
1 fdp.ConsumeBytes [function] [call site] 00004
1 croniter.croniter.is_valid [function] [call site] 00005
2 croniter.croniter.expand [function] [call site] 00006
3 croniter.croniter._expand [function] [call site] 00007
4 expr_format.lower [function] [call site] 00008
4 efl.split [function] [call site] 00009
4 .enumerate [function] [call site] 00011
4 collections.OrderedDict.items [function] [call site] 00012
4 expr.split [function] [call site] 00013
4 e_list.pop [function] [call site] 00015
4 special_dow_re.match [function] [call site] 00017
4 special_dow_rem.groupdict [function] [call site] 00018
4 step_search_re.search [function] [call site] 00024
4 step_search_re.search [function] [call site] 00027
4 only_int_re.search [function] [call site] 00031
4 croniter.croniter._alphaconv [function] [call site] 00032
4 only_int_re.search [function] [call site] 00033
4 croniter.croniter._alphaconv [function] [call site] 00034
4 only_int_re.search [function] [call site] 00038
4 t.startswith [function] [call site] 00043
4 star_or_int_re.search [function] [call site] 00044
4 croniter.croniter._alphaconv [function] [call site] 00045
4 res.append [function] [call site] 00051
4 expanded.append [function] [call site] 00057
4 nth_weekday_of_month.keys [function] [call site] 00059
4 dow_expanded_set.difference [function] [call site] 00060
4 dow_expanded_set.discard [function] [call site] 00061
3 sys.exc_info [function] [call site] 00062
3 .isinstance [function] [call site] 00063
3 traceback.format_exc [function] [call site] 00065
3 croniter._get_caller_globals_and_locals [function] [call site] 00066
4 inspect.stack [function] [call site] 00067
1 croniter.croniter.__init__ [function] [call site] 00068
2 .isinstance [function] [call site] 00069
2 .isinstance [function] [call site] 00070
2 hash_id.encode [function] [call site] 00071
2 time.time [function] [call site] 00074
2 croniter.croniter.set_current [function] [call site] 00075
3 .isinstance [function] [call site] 00076
3 croniter.croniter._datetime_to_timestamp [function] [call site] 00077
4 croniter.datetime_to_timestamp [function] [call site] 00078
5 time.time.microseconds.replace [function] [call site] 00079
5 datetime.datetime.replace [function] [call site] 00080
5 time.time.replace [function] [call site] 00081
5 datetime.datetime.microseconds.replace [function] [call site] 00082
5 datetime.datetime.utcoffset [function] [call site] 00083
5 time.time.microseconds.utcoffset [function] [call site] 00084
5 datetime.datetime.microseconds.utcoffset [function] [call site] 00085
5 time.time.utcoffset [function] [call site] 00086
5 datetime.datetime [function] [call site] 00087
5 croniter.timedelta_to_seconds [function] [call site] 00088
2 croniter.croniter.expand [function] [call site] 00089
1 croniter.croniter.all_next [function] [call site] 00090
2 croniter.croniter._get_next [function] [call site] 00091
3 croniter.croniter.set_current [function] [call site] 00092
3 .issubclass [function] [call site] 00093
3 croniter.croniter._calc [function] [call site] 00094
4 math.ceil [function] [call site] 00095
4 math.floor [function] [call site] 00097
4 croniter.croniter._timestamp_to_datetime [function] [call site] 00099
5 datetime.datetime.utcfromtimestamp [function] [call site] 00100
5 dateutil.tz.tzutc [function] [call site] 00101
5 result.replace [function] [call site] 00102
4 dst.replace [function] [call site] 00104
4 croniter.croniter._datetime_to_timestamp [function] [call site] 00105
3 croniter.croniter._calc [function] [call site] 00106
3 croniter.croniter._calc [function] [call site] 00107
3 croniter.croniter._timestamp_to_datetime [function] [call site] 00108
3 dtstarttime.utcoffset [function] [call site] 00109
3 datetime.timedelta [function] [call site] 00110
3 croniter.croniter._timestamp_to_datetime [function] [call site] 00111
3 dtresult.utcoffset [function] [call site] 00112
3 croniter.croniter._timedelta_to_seconds [function] [call site] 00113
4 croniter.timedelta_to_seconds [function] [call site] 00114
3 croniter.croniter._timedelta_to_seconds [function] [call site] 00115
3 datetime.timedelta [function] [call site] 00119
3 croniter.croniter._datetime_to_timestamp [function] [call site] 00120
3 croniter.croniter._timestamp_to_datetime [function] [call site] 00121
3 .issubclass [function] [call site] 00122
1 croniter.croniter.get_next [function] [call site] 00123
2 croniter.croniter.set_current [function] [call site] 00124
2 croniter.croniter._get_next [function] [call site] 00125
1 croniter.croniter.get_prev [function] [call site] 00126
2 croniter.croniter._get_next [function] [call site] 00127