Fuzz introspector: fuzz_h11
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
67 70 ...fuzz_h11.fuzz_connection call site: 00070 h11._connection.Connection.send_with_data_passthrough
21 138 h11._connection._keep_alive call site: 00138 h11._connection.Connection._process_error
16 18 h11._util.validate call site: 00018 h11._util.validate
9 161 ...fuzz_h11.fuzz_connection call site: 00161 h11._connection.Connection._process_event
8 7 ...fuzz_h11.fuzz_headers call site: 00007 h11._util.bytesify
6 46 h11._events.Request.__init__ call site: 00046 h11._util.bytesify
5 35 ...fuzz_h11.fuzz_headers call site: 00035 h11._headers.get_comma_header
3 54 h11._events.Request.__init__ call site: 00054 h11._util.validate
2 4 ...fuzz_h11.fuzz_headers call site: 00004 fdp.ConsumeBytes
2 172 ...fuzz_h11.fuzz_connection call site: 00172 fdp.ConsumeUnicodeNoSurrogates
2 177 ...fuzz_h11.fuzz_connection call site: 00177 h11._connection.Connection.receive_data
1 16 h11._util.validate call site: 00016 msg.format

Fuzzer calltree

0 ...fuzz_h11.TestOneInput [function] [call site] 00000
1 ...fuzz_h11.fuzz_headers [function] [call site] 00001
2 atheris.FuzzedDataProvider [function] [call site] 00002
2 fdp.ConsumeBytes [function] [call site] 00003
2 fdp.ConsumeBytes [function] [call site] 00004
2 fdp.ConsumeBytes [function] [call site] 00005
2 fdp.ConsumeBytes [function] [call site] 00006
2 h11._headers.normalize_and_validate [function] [call site] 00007
3 h11._util.bytesify [function] [call site] 00008
4 <builtin>.type [function] [call site] 00009
4 <builtin>.isinstance [function] [call site] 00010
4 <builtin>.isinstance [function] [call site] 00012
4 <builtin>.bytes [function] [call site] 00013
3 h11._util.bytesify [function] [call site] 00014
3 h11._util.validate [function] [call site] 00015
4 regex.fullmatch [function] [call site] 00016
4 msg.format [function] [call site] 00017
4 match.groupdict [function] [call site] 00018
3 h11._util.validate [function] [call site] 00019
3 <builtin>.isinstance [function] [call site] 00020
3 <builtin>.isinstance [function] [call site] 00021
3 name.lower [function] [call site] 00022
3 length.strip [function] [call site] 00023
3 value.split [function] [call site] 00024
3 <builtin>.len [function] [call site] 00025
3 lengths.pop [function] [call site] 00026
3 h11._util.validate [function] [call site] 00027
3 <builtin>.len [function] [call site] 00028
3 new_headers.append [function] [call site] 00029
3 value.lower [function] [call site] 00030
3 new_headers.append [function] [call site] 00031
3 new_headers.append [function] [call site] 00032
3 h11._headers.Headers.__init__ [function] [call site] 00033
2 fdp.ConsumeBytes [function] [call site] 00034
2 h11._headers.has_expect_100_continue [function] [call site] 00035
3 h11._headers.get_comma_header [function] [call site] 00036
4 found_raw_value.lower [function] [call site] 00037
4 found_raw_value.split [function] [call site] 00038
4 found_split_value.strip [function] [call site] 00039
4 out.append [function] [call site] 00040
2 h11._events.Request.__init__ [function] [call site] 00041
3 <builtin>.super [function] [call site] 00042
3 <builtin>.isinstance [function] [call site] 00043
3 object.__setattr__ [function] [call site] 00044
3 object.__setattr__ [function] [call site] 00045
3 h11._headers.normalize_and_validate [function] [call site] 00046
3 h11._util.bytesify [function] [call site] 00047
3 object.__setattr__ [function] [call site] 00048
3 h11._util.bytesify [function] [call site] 00049
3 object.__setattr__ [function] [call site] 00050
3 h11._util.bytesify [function] [call site] 00051
3 object.__setattr__ [function] [call site] 00052
3 object.__setattr__ [function] [call site] 00053
3 object.__setattr__ [function] [call site] 00054
3 object.__setattr__ [function] [call site] 00055
3 h11._util.validate [function] [call site] 00056
3 h11._util.validate [function] [call site] 00057
1 ...fuzz_h11.fuzz_receivebuffer [function] [call site] 00058
2 atheris.FuzzedDataProvider [function] [call site] 00059
2 h11._receivebuffer.ReceiveBuffer.__init__ [function] [call site] 00060
3 <builtin>.bytearray [function] [call site] 00061
2 <builtin>.range [function] [call site] 00062
2 fdp.ConsumeBytes [function] [call site] 00063
2 fdp.ConsumeIntInRange [function] [call site] 00064
2 abc.ABC.maybe_extract_at_most [function] [call site] 00065
2 abc.ABC.maybe_extract_next_line [function] [call site] 00066
2 abc.ABC.maybe_extract_lines [function] [call site] 00067
1 ...fuzz_h11.fuzz_connection [function] [call site] 00068
2 atheris.FuzzedDataProvider [function] [call site] 00069
2 h11._connection.Connection.send [function] [call site] 00070
3 h11._connection.Connection.send_with_data_passthrough [function] [call site] 00071
4 <builtin>.type [function] [call site] 00072
4 h11._connection.Connection._clean_up_response_headers_for_sending [function] [call site] 00073
5 <builtin>.type [function] [call site] 00074
5 typing.cast [function] [call site] 00075
5 h11._connection._body_framing [function] [call site] 00076
6 <builtin>.type [function] [call site] 00077
6 <builtin>.type [function] [call site] 00078
6 h11._headers.get_comma_header [function] [call site] 00079
6 h11._headers.get_comma_header [function] [call site] 00080
6 <builtin>.int [function] [call site] 00081
6 <builtin>.type [function] [call site] 00082
5 h11._headers.set_comma_header [function] [call site] 00083
6 new_headers.append [function] [call site] 00084
6 name.title [function] [call site] 00085
6 new_headers.append [function] [call site] 00086
6 h11._headers.normalize_and_validate [function] [call site] 00087
5 h11._headers.set_comma_header [function] [call site] 00088
5 h11._headers.set_comma_header [function] [call site] 00089
5 h11._headers.get_comma_header [function] [call site] 00090
5 <builtin>.set [function] [call site] 00091
5 connection.discard [function] [call site] 00092
5 connection.add [function] [call site] 00093
5 <builtin>.sorted [function] [call site] 00094
5 h11._headers.set_comma_header [function] [call site] 00095
5 h11._events._ResponseBase.__init__ [function] [call site] 00096
6 <builtin>.super [function] [call site] 00097
6 <builtin>.isinstance [function] [call site] 00098
6 object.__setattr__ [function] [call site] 00099
6 object.__setattr__ [function] [call site] 00100
6 h11._headers.normalize_and_validate [function] [call site] 00101
6 h11._util.bytesify [function] [call site] 00102
6 object.__setattr__ [function] [call site] 00103
6 h11._util.bytesify [function] [call site] 00104
6 object.__setattr__ [function] [call site] 00105
6 <builtin>.isinstance [function] [call site] 00106
6 <builtin>.int [function] [call site] 00107
6 object.__setattr__ [function] [call site] 00108
6 object.__setattr__ [function] [call site] 00109
6 object.__setattr__ [function] [call site] 00110
6 object.__setattr__ [function] [call site] 00111
6 h11._events._ResponseBase.__post_init__ [function] [call site] 00112
6 h11._events.Response.__post_init__ [function] [call site] 00113
4 h11._connection.Connection._process_event [function] [call site] 00114
5 <builtin>.dict [function] [call site] 00115
5 <builtin>.type [function] [call site] 00116
5 h11._state.ConnectionState.process_client_switch_proposal [function] [call site] 00117
6 h11._state.ConnectionState._fire_state_triggered_transitions [function] [call site] 00118
7 <builtin>.dict [function] [call site] 00119
7 STATE_TRIGGERED_TRANSITIONS.get [function] [call site] 00120
5 h11._headers.get_comma_header [function] [call site] 00121
5 h11._state.ConnectionState.process_client_switch_proposal [function] [call site] 00122
5 h11._connection.Connection._server_switch_event [function] [call site] 00123
6 <builtin>.type [function] [call site] 00124
6 <builtin>.type [function] [call site] 00125
5 <builtin>.type [function] [call site] 00126
5 h11._state.ConnectionState.process_event [function] [call site] 00127
6 <builtin>.set [function] [call site] 00128
6 h11._state.ConnectionState._fire_event_triggered_transitions [function] [call site] 00129
7 typing.cast [function] [call site] 00130
6 h11._state.ConnectionState._fire_event_triggered_transitions [function] [call site] 00131
6 h11._state.ConnectionState._fire_state_triggered_transitions [function] [call site] 00132
5 <builtin>.type [function] [call site] 00133
5 <builtin>.type [function] [call site] 00134
5 typing.cast [function] [call site] 00135
5 <builtin>.type [function] [call site] 00136
5 h11._connection._keep_alive [function] [call site] 00137
6 h11._headers.get_comma_header [function] [call site] 00138
6 <builtin>.getattr [function] [call site] 00139
5 typing.cast [function] [call site] 00140
5 h11._state.ConnectionState.process_keep_alive_disabled [function] [call site] 00141
6 h11._state.ConnectionState._fire_state_triggered_transitions [function] [call site] 00142
5 <builtin>.type [function] [call site] 00143
5 h11._headers.has_expect_100_continue [function] [call site] 00144
5 <builtin>.type [function] [call site] 00145
5 <builtin>.type [function] [call site] 00146
5 h11._connection.Connection._respond_to_state_changes [function] [call site] 00147
6 h11._connection.Connection._get_io_object [function] [call site] 00148
7 h11._connection._body_framing [function] [call site] 00149
7 typing.cast [function] [call site] 00150
7 typing.cast [function] [call site] 00151
7 io_dict.get [function] [call site] 00152
6 h11._connection.Connection._get_io_object [function] [call site] 00153
4 <builtin>.type [function] [call site] 00154
4 h11._connection.Connection._process_error [function] [call site] 00155
5 <builtin>.dict [function] [call site] 00156
5 h11._state.ConnectionState.process_error [function] [call site] 00157
6 h11._state.ConnectionState._fire_state_triggered_transitions [function] [call site] 00158
5 h11._connection.Connection._respond_to_state_changes [function] [call site] 00159
2 h11._connection.Connection.send [function] [call site] 00160
2 h11._connection.Connection.next_event [function] [call site] 00161
3 h11._connection.Connection._extract_next_receive_event [function] [call site] 00162
4 <builtin>.hasattr [function] [call site] 00163
4 abc.ABC.__init__ [function] [call site] 00164
3 typing.cast [function] [call site] 00165
3 h11._connection.Connection._process_event [function] [call site] 00166
3 <builtin>.len [function] [call site] 00167
3 h11._connection.Connection._process_error [function] [call site] 00168
3 <builtin>.isinstance [function] [call site] 00169
3 exc._reraise_as_remote_protocol_error [function] [call site] 00170
2 fdp.ConsumeBytes [function] [call site] 00171
2 h11._connection.Connection.receive_data [function] [call site] 00172
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00173
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00174
2 h11._connection.Connection.send [function] [call site] 00175
2 h11._connection.Connection.send [function] [call site] 00176
2 h11._connection.Connection.next_event [function] [call site] 00177
2 fdp.ConsumeBytes [function] [call site] 00178
2 h11._connection.Connection.receive_data [function] [call site] 00179