Fuzz introspector: fuzz_parser
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
14 61 click.parser._unpack_args call site: {node_id} click.parser._unpack_args._fetch
7 48 click.parser.OptionParser._match_short_opt call site: {node_id} click.parser.OptionParser._get_value_from_state
2 41 click.parser.OptionParser._get_value_from_state call site: {node_id} .isinstance
1 3 ...fuzz_parser.TestOneInput call site: {node_id} click.parser.OptionParser.add_option
1 5 click.parser.OptionParser.add_option call site: {node_id} click.parser.split_opt
1 7 click.parser.split_opt call site: {node_id} ctx.token_normalize_func
1 13 click.parser.Option.__init__ call site: {node_id} click.parser.OptionParser.add_option
1 44 click.parser.OptionParser._get_value_from_state call site: {node_id} .tuple
1 56 click.parser.OptionParser._process_args_for_options call site: {node_id} state.rargs.insert
1 78 click.parser.OptionParser._process_args_for_args call site: {node_id} arg.process

Fuzzer calltree

0 ...fuzz_parser.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00001
1 click.parser.OptionParser.__init__ [function] [call site] 00002
1 click.core.Option.add_to_parser [function] [call site] 00003
2 click.parser.OptionParser.add_option [function] [call site] 00004
3 click.parser.normalize_opt [function] [call site] 00005
4 click.parser.split_opt [function] [call site] 00006
5 first.isalnum [function] [call site] 00007
4 ctx.token_normalize_func [function] [call site] 00008
3 click.parser.Option.__init__ [function] [call site] 00009
2 click.parser.OptionParser.add_option [function] [call site] 00014
2 click.parser.OptionParser.add_option [function] [call site] 00015
2 click.parser.OptionParser.add_option [function] [call site] 00016
1 click.core.Option.add_to_parser [function] [call site] 00017
1 fdp.ConsumeBool [function] [call site] 00018
1 click.core.Option.add_to_parser [function] [call site] 00019
1 click.core.Option.add_to_parser [function] [call site] 00020
1 click.core.Option.add_to_parser [function] [call site] 00021
1 click.core.Option.add_to_parser [function] [call site] 00022
1 click.core.Option.add_to_parser [function] [call site] 00023
1 click.core.Option.add_to_parser [function] [call site] 00024
1 fdp.ConsumeIntInRange [function] [call site] 00025
1 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00027
1 args.append [function] [call site] 00028
1 click.parser.OptionParser.parse_args [function] [call site] 00029
2 click.parser.ParsingState.__init__ [function] [call site] 00030
2 click.parser.OptionParser._process_args_for_options [function] [call site] 00031
3 state.rargs.pop [function] [call site] 00032
3 click.parser.OptionParser._process_opts [function] [call site] 00034
4 arg.split [function] [call site] 00035
4 click.parser.normalize_opt [function] [call site] 00036
4 click.parser.OptionParser._match_long_opt [function] [call site] 00037
5 difflib.get_close_matches [function] [call site] 00038
5 state.rargs.insert [function] [call site] 00039
5 click.parser.OptionParser._get_value_from_state [function] [call site] 00040
5 option.process [function] [call site] 00046
4 click.parser.OptionParser._match_short_opt [function] [call site] 00047
5 click.parser.normalize_opt [function] [call site] 00048
5 unknown_options.append [function] [call site] 00049
5 state.rargs.insert [function] [call site] 00051
5 click.parser.OptionParser._get_value_from_state [function] [call site] 00052
5 option.process [function] [call site] 00053
5 state.largs.append [function] [call site] 00054
4 state.largs.append [function] [call site] 00055
3 state.largs.append [function] [call site] 00056
3 state.rargs.insert [function] [call site] 00057
2 click.parser.OptionParser._process_args_for_args [function] [call site] 00058
3 click.parser._unpack_args [function] [call site] 00059
4 collections.deque [function] [call site] 00060
4 collections.deque [function] [call site] 00061
4 click.parser._unpack_args._fetch [function] [call site] 00062
5 collections.deque.popleft [function] [call site] 00063
5 collections.deque.pop [function] [call site] 00064
4 click.parser._unpack_args._fetch [function] [call site] 00065
4 rv.append [function] [call site] 00066
4 click.parser._unpack_args._fetch [function] [call site] 00067
4 x.reverse [function] [call site] 00069
4 rv.append [function] [call site] 00071
4 rv.append [function] [call site] 00073
4 .reversed [function] [call site] 00075
3 .enumerate [function] [call site] 00078
3 arg.process [function] [call site] 00079