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
78 14 google.cloud.storage.fileio.BlobReader.read call site: {node_id} google.cloud.storage.blob.Blob._prep_and_do_download
13 97 google.cloud.storage.fileio.BlobReader.seek call site: {node_id} 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 google.cloud.storage.fileio.BlobReader.__init__ [function] [call site] 00005
2 io.BytesIO [function] [call site] 00006
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 google.cloud.storage.blob.Blob.download_as_bytes [function] [call site] 00014
3 io.BytesIO [function] [call site] 00015
3 google.cloud.storage.blob.Blob._prep_and_do_download [function] [call site] 00016
4 .isinstance [function] [call site] 00017
4 retry.get_retry_policy_if_conditions_met [function] [call site] 00018
4 google.cloud.storage._helpers._PropertyMixin._require_client [function] [call site] 00019
4 google.cloud.storage.blob.Blob._get_download_url [function] [call site] 00020
5 google.cloud.storage.blob._get_host_name [function] [call site] 00021
6 connection.get_api_base_url_for_mtls [function] [call site] 00023
5 _DOWNLOAD_URL_TEMPLATE.format [function] [call site] 00024
5 name_value_pairs.append [function] [call site] 00025
5 name_value_pairs.append [function] [call site] 00026
5 google.cloud.storage._helpers._add_generation_match_parameters [function] [call site] 00027
6 match_parameters.get [function] [call site] 00028
6 .isinstance [function] [call site] 00029
6 .isinstance [function] [call site] 00030
5 google.cloud.storage.blob._add_query_parameters [function] [call site] 00031
6 urllib.parse.urlsplit [function] [call site] 00033
6 urllib.parse.parse_qsl [function] [call site] 00034
6 urllib.parse.parse_qsl.extend [function] [call site] 00035
6 urllib.parse.urlencode [function] [call site] 00036
6 urllib.parse.urlunsplit [function] [call site] 00037
4 google.cloud.storage.blob._get_encryption_headers [function] [call site] 00038
5 google.cloud._helpers._to_bytes [function] [call site] 00039
6 .isinstance [function] [call site] 00040
6 value.encode [function] [call site] 00041
6 .isinstance [function] [call site] 00042
5 hashlib.sha256 [function] [call site] 00043
5 base64.b64encode [function] [call site] 00044
5 base64.b64encode [function] [call site] 00045
5 google.cloud._helpers._bytes_to_unicode [function] [call site] 00046
6 .isinstance [function] [call site] 00047
6 value.decode [function] [call site] 00048
6 .isinstance [function] [call site] 00049
5 google.cloud._helpers._bytes_to_unicode [function] [call site] 00050
4 google.cloud.storage._helpers._add_etag_match_headers [function] [call site] 00051
5 match_parameters.get [function] [call site] 00052
5 .isinstance [function] [call site] 00053
4 google.cloud.storage._helpers._get_default_headers [function] [call site] 00054
5 google.cloud.storage._helpers._get_invocation_id [function] [call site] 00055
4 google.cloud.storage.blob.Blob._do_download [function] [call site] 00058
5 google.cloud.storage._helpers._api_core_retry_to_resumable_media_retry [function] [call site] 00059
5 google.resumable_media._download.Download.__init__ [function] [call site] 00060
5 google.resumable_media._download.ChunkedDownload.__init__ [function] [call site] 00062
5 google.resumable_media._download.Download.__init__ [function] [call site] 00064
5 google.resumable_media._download.ChunkedDownload.__init__ [function] [call site] 00065
5 download.consume [function] [call site] 00066
5 google.cloud.storage.blob.Blob._extract_headers_from_download [function] [call site] 00067
6 response.headers.get [function] [call site] 00068
6 response.headers.get [function] [call site] 00069
6 response.headers.get [function] [call site] 00070
6 response.headers.get [function] [call site] 00071
6 response.headers.get [function] [call site] 00072
6 response.headers.get [function] [call site] 00073
6 response.headers.get [function] [call site] 00074
6 response.headers.get [function] [call site] 00075
6 response.headers.get [function] [call site] 00076
6 x_goog_hash.split [function] [call site] 00077
6 match.groups [function] [call site] 00079
6 digests.get [function] [call site] 00080
6 digests.get [function] [call site] 00081
5 _CHUNKED_DOWNLOAD_CHECKSUM_MESSAGE.format [function] [call site] 00082
5 _logger.info [function] [call site] 00083
5 google.resumable_media._download.Download.__init__ [function] [call site] 00084
5 google.resumable_media._download.ChunkedDownload.__init__ [function] [call site] 00085
5 google.resumable_media._download.Download.__init__ [function] [call site] 00086
5 google.resumable_media._download.ChunkedDownload.__init__ [function] [call site] 00087
5 download.consume_next_chunk [function] [call site] 00088
4 google.cloud.storage.blob._raise_from_invalid_response [function] [call site] 00089
3 io.BytesIO.getvalue [function] [call site] 00092
2 mock.mock.CallableMixin.__init__ [function] [call site] 00093
1 google.cloud.storage.fileio.BlobReader.seek [function] [call site] 00096
2 io.BufferedIOBase._checkClosed [function] [call site] 00097
2 google.cloud.storage._helpers._PropertyMixin.reload [function] [call site] 00098
3 google.cloud.storage._helpers._PropertyMixin._require_client [function] [call site] 00099
3 google.cloud.storage._helpers._add_generation_match_parameters [function] [call site] 00100
3 google.cloud.storage.blob.Blob._encryption_headers [function] [call site] 00101
4 google.cloud.storage.blob._get_encryption_headers [function] [call site] 00102
3 google.cloud.storage._helpers._PropertyMixin._encryption_headers [function] [call site] 00103
3 google.cloud.storage._helpers._add_etag_match_headers [function] [call site] 00104
3 google.cloud.storage._helpers._PropertyMixin._set_properties [function] [call site] 00105
3 google.cloud.storage.bucket.Bucket._set_properties [function] [call site] 00107
2 google.cloud.storage.bucket.Bucket.reload [function] [call site] 00109
1 fdp.ConsumeIntInRange [function] [call site] 00112
1 fdp.ConsumeIntInRange [function] [call site] 00113