Fuzz introspector: fuzz_match
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
7 63 croniter.croniter._expand call site: {node_id} croniter.croniter._get_low_from_current_date_number
5 75 croniter.croniter._expand call site: {node_id} .len
4 20 croniter.croniter._datetime_to_timestamp call site: {node_id} time.time.microseconds.replace
4 58 croniter.croniter._expand call site: {node_id} .int
2 32 croniter.croniter._expand call site: {node_id} expressions.pop
1 12 croniter.croniter.__init__ call site: {node_id} hash_id.encode
1 15 croniter.croniter.__init__ call site: {node_id} time.time
1 46 croniter.croniter._expand call site: {node_id} .str
1 49 croniter.croniter._expand call site: {node_id} .str
1 101 croniter.croniter.match_range call site: {node_id} dateutil.relativedelta.relativedelta

Fuzzer calltree

0 ...fuzz_match.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00001
1 fdp.ConsumeString [function] [call site] 00002
1 ...fuzz_match.RandomDateTime [function] [call site] 00003
2 datetime.datetime.now [function] [call site] 00004
2 fdp.ConsumeProbability [function] [call site] 00005
2 datetime.timedelta [function] [call site] 00006
1 croniter.croniter.match [function] [call site] 00007
2 croniter.croniter.match_range [function] [call site] 00008
3 croniter.croniter.__init__ [function] [call site] 00009
4 <builtin>.bool [function] [call site] 00010
4 <builtin>.isinstance [function] [call site] 00011
4 <builtin>.isinstance [function] [call site] 00012
4 hash_id.encode [function] [call site] 00013
4 <builtin>.int [function] [call site] 00014
4 <builtin>.max [function] [call site] 00015
4 time.time [function] [call site] 00016
4 croniter.croniter.set_current [function] [call site] 00017
5 <builtin>.isinstance [function] [call site] 00018
5 croniter.croniter._datetime_to_timestamp [function] [call site] 00019
6 croniter.datetime_to_timestamp [function] [call site] 00020
7 time.time.microseconds.replace [function] [call site] 00021
7 time.time.replace [function] [call site] 00022
7 time.time.microseconds.utcoffset [function] [call site] 00023
7 time.time.utcoffset [function] [call site] 00024
7 datetime.datetime [function] [call site] 00025
7 croniter.timedelta_to_seconds [function] [call site] 00026
4 croniter.croniter.expand [function] [call site] 00027
5 croniter.croniter._expand [function] [call site] 00028
6 expr_format.lower [function] [call site] 00029
6 efl.split [function] [call site] 00030
6 <builtin>.len [function] [call site] 00031
6 <builtin>.len [function] [call site] 00032
6 expressions.pop [function] [call site] 00033
6 expressions.insert [function] [call site] 00034
6 <builtin>.enumerate [function] [call site] 00035
6 collections.OrderedDict.items [function] [call site] 00036
6 expr.split [function] [call site] 00037
6 <builtin>.len [function] [call site] 00038
6 e_list.pop [function] [call site] 00039
6 <builtin>.str [function] [call site] 00040
6 special_dow_re.match [function] [call site] 00041
6 special_dow_rem.groupdict [function] [call site] 00042
6 <builtin>.int [function] [call site] 00045
6 <builtin>.str [function] [call site] 00047
6 step_search_re.search [function] [call site] 00048
6 <builtin>.str [function] [call site] 00050
6 step_search_re.search [function] [call site] 00051
6 only_int_re.search [function] [call site] 00055
6 croniter.croniter._alphaconv [function] [call site] 00056
6 only_int_re.search [function] [call site] 00057
6 croniter.croniter._alphaconv [function] [call site] 00058
6 <builtin>.int [function] [call site] 00059
6 <builtin>.int [function] [call site] 00060
6 <builtin>.str [function] [call site] 00061
6 only_int_re.search [function] [call site] 00062
6 <builtin>.map [function] [call site] 00063
6 <builtin>.max [function] [call site] 00064
6 <builtin>.max [function] [call site] 00065
6 <builtin>.int [function] [call site] 00066
6 <builtin>.int [function] [call site] 00067
6 croniter.croniter._get_low_from_current_date_number [function] [call site] 00068
7 datetime.datetime.fromtimestamp [function] [call site] 00069
7 dt.weekday [function] [call site] 00070
6 <builtin>.range [function] [call site] 00071
6 t.startswith [function] [call site] 00072
6 star_or_int_re.search [function] [call site] 00073
6 croniter.croniter._alphaconv [function] [call site] 00074
6 <builtin>.int [function] [call site] 00075
6 <builtin>.len [function] [call site] 00076
6 <builtin>.len [function] [call site] 00077
6 <builtin>.len [function] [call site] 00078
6 <builtin>.int [function] [call site] 00079
6 <builtin>.int [function] [call site] 00080
6 res.append [function] [call site] 00081
6 <builtin>.set [function] [call site] 00082
6 <builtin>.set [function] [call site] 00083
6 <builtin>.sorted [function] [call site] 00084
6 <builtin>.len [function] [call site] 00085
6 <builtin>.len [function] [call site] 00086
6 expanded.append [function] [call site] 00087
6 <builtin>.set [function] [call site] 00088
6 nth_weekday_of_month.keys [function] [call site] 00089
6 dow_expanded_set.difference [function] [call site] 00090
6 dow_expanded_set.discard [function] [call site] 00091
6 <builtin>.set [function] [call site] 00092
6 <builtin>.len [function] [call site] 00093
5 sys.exc_info [function] [call site] 00094
5 <builtin>.isinstance [function] [call site] 00095
5 <builtin>.int [function] [call site] 00096
5 traceback.format_exc [function] [call site] 00097
5 croniter._get_caller_globals_and_locals [function] [call site] 00098
6 inspect.stack [function] [call site] 00099
4 <builtin>.len [function] [call site] 00100
3 cron.get_current [function] [call site] 00101
3 dateutil.relativedelta.relativedelta [function] [call site] 00102
3 cron.set_current [function] [call site] 00103
3 cron.get_prev [function] [call site] 00104
3 <builtin>.len [function] [call site] 00105
3 <builtin>.max [function] [call site] 00106
3 <builtin>.min [function] [call site] 00107