Fuzz introspector: fuzz_fileio
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
105 14 google.cloud.storage.fileio.BlobReader.read call site: 00014 google.cloud.storage.blob.Blob._prep_and_do_download
12 124 google.cloud.storage.fileio.BlobReader.seek call site: 00124 google.cloud.storage._helpers._PropertyMixin.reload

Fuzzer calltree

0 ...fuzz_fileio.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00001
1 mock.mock.CallableMixin.__init__ [function] [call site] 00002
1 mock.mock.CallableMixin.__init__ [function] [call site] 00003
1 <builtin>.len [function] [call site] 00004
1 google.cloud.storage.fileio.BlobReader.__init__ [function] [call site] 00005
2 io.BytesIO [function] [call site] 00006
1 <builtin>.len [function] [call site] 00007
1 fdp.ConsumeIntInRange [function] [call site] 00008
1 google.cloud.storage.fileio.BlobReader.read [function] [call site] 00009
2 io.BufferedIOBase._checkClosed [function] [call site] 00010
2 <builtin>.len [function] [call site] 00011
2 <builtin>.len [function] [call site] 00012
2 <builtin>.max [function] [call site] 00013
2 google.cloud.storage.blob.Blob.download_as_bytes [function] [call site] 00014
3 google.cloud.storage._opentelemetry_tracing.create_trace_span [function] [call site] 00015
4 opentelemetry.trace.get_tracer [function] [call site] 00016
4 google.cloud.storage._opentelemetry_tracing._get_final_attributes [function] [call site] 00017
5 _default_attributes.copy [function] [call site] 00018
5 collected_attr.update [function] [call site] 00019
5 google.cloud.storage._opentelemetry_tracing._set_api_request_attr [function] [call site] 00020
6 request.get [function] [call site] 00021
6 request.get [function] [call site] 00022
6 request.get [function] [call site] 00023
6 request.get [function] [call site] 00024
6 request.get [function] [call site] 00025
6 request.get [function] [call site] 00026
5 collected_attr.update [function] [call site] 00027
5 <builtin>.isinstance [function] [call site] 00028
5 google.cloud.storage._opentelemetry_tracing._set_retry_attr [function] [call site] 00029
5 collected_attr.update [function] [call site] 00030
5 <builtin>.isinstance [function] [call site] 00031
5 collected_attr.update [function] [call site] 00032
5 google.cloud.storage._opentelemetry_tracing._set_retry_attr [function] [call site] 00033
5 collected_attr.update [function] [call site] 00034
5 collected_attr.items [function] [call site] 00035
4 tracer.start_as_current_span [function] [call site] 00036
4 opentelemetry.trace.Status [function] [call site] 00037
4 span.set_status [function] [call site] 00038
4 span.record_exception [function] [call site] 00039
3 io.BytesIO [function] [call site] 00040
3 google.cloud.storage.blob.Blob._prep_and_do_download [function] [call site] 00041
4 <builtin>.isinstance [function] [call site] 00042
4 retry.get_retry_policy_if_conditions_met [function] [call site] 00043
4 google.cloud.storage._helpers._PropertyMixin._require_client [function] [call site] 00044
4 google.cloud.storage.blob.Blob._get_download_url [function] [call site] 00045
5 google.cloud.storage.blob._get_host_name [function] [call site] 00046
6 <builtin>.hasattr [function] [call site] 00047
6 connection.get_api_base_url_for_mtls [function] [call site] 00048
5 _DOWNLOAD_URL_TEMPLATE.format [function] [call site] 00049
5 name_value_pairs.append [function] [call site] 00050
5 name_value_pairs.append [function] [call site] 00051
5 google.cloud.storage._helpers._add_generation_match_parameters [function] [call site] 00052
6 match_parameters.get [function] [call site] 00053
6 <builtin>.isinstance [function] [call site] 00054
6 <builtin>.isinstance [function] [call site] 00055
5 google.cloud.storage.blob._add_query_parameters [function] [call site] 00056
6 <builtin>.len [function] [call site] 00057
6 urllib.parse.urlsplit [function] [call site] 00058
6 urllib.parse.parse_qsl [function] [call site] 00059
6 urllib.parse.parse_qsl.extend [function] [call site] 00060
6 urllib.parse.urlencode [function] [call site] 00061
6 urllib.parse.urlunsplit [function] [call site] 00062
4 google.cloud.storage.blob._get_encryption_headers [function] [call site] 00063
5 google.cloud._helpers._to_bytes [function] [call site] 00064
6 <builtin>.isinstance [function] [call site] 00065
6 value.encode [function] [call site] 00066
6 <builtin>.isinstance [function] [call site] 00067
5 hashlib.sha256 [function] [call site] 00068
5 base64.b64encode [function] [call site] 00069
5 base64.b64encode [function] [call site] 00070
5 google.cloud._helpers._bytes_to_unicode [function] [call site] 00071
6 <builtin>.isinstance [function] [call site] 00072
6 value.decode [function] [call site] 00073
6 <builtin>.isinstance [function] [call site] 00074
5 google.cloud._helpers._bytes_to_unicode [function] [call site] 00075
4 google.cloud.storage._helpers._add_etag_match_headers [function] [call site] 00076
5 match_parameters.get [function] [call site] 00077
5 <builtin>.isinstance [function] [call site] 00078
4 google.cloud.storage._helpers._get_default_headers [function] [call site] 00079
5 google.cloud.storage._helpers._get_invocation_id [function] [call site] 00080
6 uuid.uuid4 [function] [call site] 00081
6 <builtin>.str [function] [call site] 00082
4 google.cloud.storage.blob.Blob._do_download [function] [call site] 00083
5 google.cloud.storage._media._download.Download.__init__ [function] [call site] 00084
6 <builtin>.super [function] [call site] 00085
6 google.cloud.storage._media._helpers._is_crc32c_available_and_fast [function] [call site] 00086
5 google.cloud.storage._media._download.ChunkedDownload.__init__ [function] [call site] 00087
6 <builtin>.super [function] [call site] 00088
5 google.cloud.storage._media._download.Download.__init__ [function] [call site] 00089
5 google.cloud.storage._media._download.ChunkedDownload.__init__ [function] [call site] 00090
5 google.cloud.storage._opentelemetry_tracing.create_trace_span [function] [call site] 00091
5 download.consume [function] [call site] 00092
5 google.cloud.storage.blob.Blob._extract_headers_from_download [function] [call site] 00093
6 response.headers.get [function] [call site] 00094
6 response.headers.get [function] [call site] 00095
6 response.headers.get [function] [call site] 00096
6 response.headers.get [function] [call site] 00097
6 response.headers.get [function] [call site] 00098
6 response.headers.get [function] [call site] 00099
6 response.headers.get [function] [call site] 00100
6 response.headers.get [function] [call site] 00101
6 response.headers.get [function] [call site] 00102
6 x_goog_hash.split [function] [call site] 00103
6 match.groups [function] [call site] 00105
6 digests.get [function] [call site] 00106
6 digests.get [function] [call site] 00107
5 _CHUNKED_DOWNLOAD_CHECKSUM_MESSAGE.format [function] [call site] 00108
5 _logger.info [function] [call site] 00109
5 google.cloud.storage._media._download.Download.__init__ [function] [call site] 00110
5 google.cloud.storage._media._download.ChunkedDownload.__init__ [function] [call site] 00111
5 google.cloud.storage._media._download.Download.__init__ [function] [call site] 00112
5 google.cloud.storage._media._download.ChunkedDownload.__init__ [function] [call site] 00113
5 google.cloud.storage._opentelemetry_tracing.create_trace_span [function] [call site] 00114
5 download.consume_next_chunk [function] [call site] 00115
4 google.cloud.storage.blob._raise_from_invalid_response [function] [call site] 00116
5 <builtin>.str [function] [call site] 00117
5 <builtin>.str [function] [call site] 00118
3 io.BytesIO.getvalue [function] [call site] 00119
2 mock.mock.CallableMixin.__init__ [function] [call site] 00120
2 <builtin>.len [function] [call site] 00121
2 <builtin>.len [function] [call site] 00122
1 google.cloud.storage.fileio.BlobReader.seek [function] [call site] 00123
2 io.BufferedIOBase._checkClosed [function] [call site] 00124
2 google.cloud.storage._helpers._PropertyMixin.reload [function] [call site] 00125
3 google.cloud.storage._helpers._PropertyMixin._require_client [function] [call site] 00126
3 google.cloud.storage._helpers._add_generation_match_parameters [function] [call site] 00127
3 google.cloud.storage._helpers._PropertyMixin._encryption_headers [function] [call site] 00128
3 google.cloud.storage.blob.Blob._encryption_headers [function] [call site] 00129
4 google.cloud.storage.blob._get_encryption_headers [function] [call site] 00130
3 google.cloud.storage._helpers._add_etag_match_headers [function] [call site] 00131
3 google.cloud.storage.bucket.Bucket._set_properties [function] [call site] 00132
4 <builtin>.super [function] [call site] 00133
2 google.cloud.storage.bucket.Bucket.reload [function] [call site] 00134
3 google.cloud.storage._opentelemetry_tracing.create_trace_span [function] [call site] 00135
3 <builtin>.super [function] [call site] 00136
1 <builtin>.len [function] [call site] 00137
1 fdp.ConsumeIntInRange [function] [call site] 00138
1 fdp.ConsumeIntInRange [function] [call site] 00139