Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Project functions overview

The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.

For further technical details on the meaning of columns in the below table, please see the Glossary .

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzzer details

Fuzzer: zip_write_encrypt_pkware_file_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 909 77.0%
gold [1:9] 0 0.0%
yellow [10:29] 1 0.08%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 270 22.8%
All colors 1180 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
260 276 13 :

['zip_error_set_from_source', '_zip_buffer_eof', '_zip_ef_merge', '_zip_read_data', '_zip_buffer_free', '_zip_buffer_get_16', '_zip_ef_remove_internal', '_zip_ef_parse', '__errno_location', 'free', 'zip_error_set', '_zip_buffer_new_from_source', 'zip_source_seek']

260 276 _zip_read_local_ef call site: 00754 /src/libzip/lib/zip_extra_field.c:365
184 184 1 :

['_zip_source_window_new']

247 1320 add_data call site: 00937 /src/libzip/lib/zip_close.c:501
153 153 1 :

['zip_source_decompress']

400 1881 add_data call site: 00927 /src/libzip/lib/zip_close.c:452
103 103 1 :

['_zip_file_get_end']

983 2681 zip_close call site: 00809 /src/libzip/lib/zip_close.c:140
60 60 1 :

['_zip_buffer_put_64']

62 332 _zip_cdir_write call site: 01132 /src/libzip/lib/zip_dirent.c:149
50 50 1 :

['_zip_buffer_put_64']

208 682 _zip_dirent_write call site: 00971 /src/libzip/lib/zip_dirent.c:921
29 29 1 :

['_zip_hash_delete']

29 60 _zip_set_name call site: 00739 /src/libzip/lib/zip_set_name.c:127
21 21 2 :

['_zip_buffer_put_8', '_zip_ef_new']

147 593 _zip_dirent_write call site: 00987 /src/libzip/lib/zip_dirent.c:963
20 20 1 :

['_zip_buffer_put_64']

20 62 write_data_descriptor call site: 01101 /src/libzip/lib/zip_close.c:767
20 20 1 :

['_zip_ef_clone']

20 20 _zip_file_extra_field_prepare_for_change call site: 00772 /src/libzip/lib/zip_extra_field_api.c:356
15 15 1 :

['zip_source_rollback_write']

15 15 zip_close call site: 01172 /src/libzip/lib/zip_close.c:293
12 46 2 :

['zip_source_free', '_zip_set_open_error']

12 48 zip_open call site: 00055 /src/libzip/lib/zip_open.c:80

Runtime coverage analysis

Covered functions
155
Functions that are reachable but not covered
115
Reachable functions
240
Percentage of reachable functions covered
52.08%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
ossfuzz/zip_write_encrypt_pkware_file_fuzzer.c 1
lib/zip_open.c 18
lib/zip_error.c 10
lib/zip_source_file_stdio_named.c 1
lib/zip_source_file_common.c 3
lib/zip_stat_init.c 2
lib/zip_source_get_file_attributes.c 2
lib/zip_source_supports.c 3
lib/zip_source_function.c 3
lib/zip_source_seek.c 2
lib/zip_source_stat.c 1
lib/zip_source_error.c 1
lib/zip_source_call.c 1
lib/zip_new.c 1
lib/zip_hash.c 10
lib/zip_source_open.c 1
lib/zip_source_close.c 1
lib/zip_source_accept_empty.c 1
lib/zip_source_tell.c 1
lib/zip_buffer.c 22
lib/zip_io_util.c 4
lib/zip_source_read.c 2
lib/zip_dirent.c 25
lib/zip_entry.c 2
lib/zip_unchange_data.c 1
lib/zip_source_free.c 1
lib/zip_source_rollback_write.c 1
lib/zip_source_window.c 6
lib/zip_string.c 8
lib/zip_extra_field.c 11
lib/zip_utf-8.c 4
lib/zip_realloc.c 1
lib/zip_memdup.c 1
lib/zip_discard.c 1
lib/zip_progress.c 7
lib/zip_source_layered.c 2
lib/zip_file_get_offset.c 2
lib/zip_source_pass_to_lower_layer.c 1
lib/zip_source_crc.c 2
lib/zip_source_buffer.c 12
lib/zip_strerror.c 1
lib/zip_error_strerror.c 1
lib/zip_file_add.c 1
lib/zip_file_replace.c 1
lib/zip_name_locate.c 1
lib/zip_get_name.c 2
lib/zip_add_entry.c 1
lib/zip_set_name.c 1
lib/zip_extra_field_api.c 2
lib/zip_file_set_encryption.c 1
lib/zip_get_encryption_implementation.c 1
lib/zip_close.c 8
lib/zip_source_remove.c 1
lib/zip_source_begin_write_cloning.c 1
lib/zip_source_begin_write.c 1
lib/zip_source_tell_write.c 1
lib/zip_source_zip_new.c 2
lib/zip_stat_index.c 1
lib/zip_source_compress.c 8
lib/zip_source_get_dostime.c 1
lib/zip_source_write.c 1
lib/zip_source_seek_write.c 1
lib/zip_source_commit_write.c 1

Fuzzer: zip_read_file_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 630 55.1%
gold [1:9] 14 1.22%
yellow [10:29] 6 0.52%
greenyellow [30:49] 10 0.87%
lawngreen 50+ 483 42.2%
All colors 1143 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
1765 2663 30 :

['qsort', 'zip_error_set_from_source', 'write_data_descriptor', 'zip_source_begin_write', 'malloc', '_zip_read_local_ef', '_zip_dirent_needs_zip64', 'add_data', 'zip_source_free', 'zip_source_zip_file_create', 'zip_source_commit_write', '_zip_progress_end', 'copy_data', 'zip_error_set', 'zip_source_seek', 'zip_source_rollback_write', '_zip_progress_subrange', 'zip_source_tell_write', 'zip_source_begin_write_cloning', '_zip_dirent_write', 'zip_source_supports', '_zip_dirent_clone', '_zip_file_get_offset', 'write_cdir', '_zip_file_get_end', 'zip_dirent_torrentzip_normalize', 'zip_get_name', '_zip_dirent_merge', 'free', '_zip_progress_start']

1765 2760 zip_close call site: 00819 /src/libzip/lib/zip_close.c:80
29 46 5 :

['zip_error_set_from_source', 'zip_source_remove', 'zip_error_code_system', 'zip_error_code_zip', 'zip_source_error']

29 143 zip_close call site: 00812 /src/libzip/lib/zip_close.c:67
15 27 2 :

['buffer_free', 'buffer_grow_fragments']

15 31 buffer_new call site: 00691 /src/libzip/lib/zip_source_buffer.c:471
11 11 2 :

['_zip_string_equal', '_zip_string_is_ascii']

11 25 _zip_dirent_process_ef_utf_8 call site: 00383 /src/libzip/lib/zip_dirent.c:727
8 10 2 :

['_zip_get_encryption_implementation', 'zip_error_set']

8 628 zip_source_zip_file_create call site: 00749 /src/libzip/lib/zip_source_zip_new.c:252
6 6 3 :

['free', '_zip_progress_free_progress_callback', '_zip_progress_free_cancel_callback']

6 6 _zip_progress_free call site: 00517 /src/libzip/lib/zip_progress.c:75
4 6 2 :

['__errno_location', 'zip_error_set']

4 6 _zip_stdio_op_stat call site: 00000 /src/libzip/lib/zip_source_file_stdio.c:145
4 4 2 :

['fstat', 'fileno']

8 10 _zip_stdio_op_stat call site: 00000 /src/libzip/lib/zip_source_file_stdio.c:138
2 142 9 :

['_zip_buffer_peek', '_zip_buffer_get_32', 'memcmp', '_zip_buffer_free', '_zip_buffer_skip', '_zip_buffer_ok', '_zip_buffer_get_64', '_zip_buffer_new_from_source', 'zip_source_seek']

2 201 _zip_dirent_read call site: 00417 /src/libzip/lib/zip_dirent.c:598
2 4 2 :

['__errno_location', 'zip_error_set']

2 4 allocate call site: 00000 /src/libzip/lib/zip_algorithm_deflate.c:67
2 4 2 :

['strdup', 'zip_error_set']

2 4 zip_set_default_password call site: 00655 /src/libzip/lib/zip_set_default_password.c:48
2 4 2 :

['__errno_location', 'zip_error_set']

2 4 read_file call site: 00051 /src/libzip/lib/zip_source_file_common.c:305

Runtime coverage analysis

Covered functions
176
Functions that are reachable but not covered
78
Reachable functions
239
Percentage of reachable functions covered
67.36%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
ossfuzz/zip_read_file_fuzzer.c 1
lib/zip_open.c 18
lib/zip_error.c 11
lib/zip_source_file_stdio_named.c 1
lib/zip_source_file_common.c 3
lib/zip_stat_init.c 2
lib/zip_source_get_file_attributes.c 2
lib/zip_source_supports.c 3
lib/zip_source_function.c 3
lib/zip_source_seek.c 2
lib/zip_source_stat.c 1
lib/zip_source_error.c 1
lib/zip_source_call.c 1
lib/zip_new.c 1
lib/zip_hash.c 8
lib/zip_source_open.c 1
lib/zip_source_close.c 1
lib/zip_source_accept_empty.c 1
lib/zip_source_tell.c 1
lib/zip_buffer.c 22
lib/zip_io_util.c 4
lib/zip_source_read.c 2
lib/zip_dirent.c 25
lib/zip_entry.c 2
lib/zip_unchange_data.c 1
lib/zip_source_free.c 1
lib/zip_source_rollback_write.c 1
lib/zip_source_window.c 6
lib/zip_string.c 8
lib/zip_extra_field.c 9
lib/zip_utf-8.c 4
lib/zip_realloc.c 1
lib/zip_memdup.c 1
lib/zip_discard.c 1
lib/zip_progress.c 7
lib/zip_source_layered.c 2
lib/zip_file_get_offset.c 2
lib/zip_source_pass_to_lower_layer.c 1
lib/zip_source_crc.c 2
ossfuzz/zip_read_fuzzer_common.h 1
lib/zip_error_strerror.c 1
lib/zip_set_default_password.c 1
lib/zip_get_num_entries.c 1
lib/zip_fopen_index.c 1
lib/zip_fopen_index_encrypted.c 2
lib/zip_source_zip_new.c 2
lib/zip_stat_index.c 1
lib/zip_get_name.c 2
lib/zip_source_buffer.c 11
lib/zip_get_encryption_implementation.c 1
lib/zip_source_compress.c 8
lib/zip_strerror.c 1
lib/zip_fread.c 1
lib/zip_fclose.c 1
lib/zip_close.c 8
lib/zip_source_remove.c 1
lib/zip_source_begin_write_cloning.c 1
lib/zip_source_begin_write.c 1
lib/zip_source_tell_write.c 1
lib/zip_source_get_dostime.c 1
lib/zip_source_write.c 1
lib/zip_source_seek_write.c 1
lib/zip_source_commit_write.c 1

Fuzzer: zip_read_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 590 54.2%
gold [1:9] 10 0.91%
yellow [10:29] 12 1.10%
greenyellow [30:49] 10 0.91%
lawngreen 50+ 466 42.8%
All colors 1088 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
1765 2663 30 :

['qsort', 'zip_error_set_from_source', 'write_data_descriptor', 'zip_source_begin_write', 'malloc', '_zip_read_local_ef', '_zip_dirent_needs_zip64', 'add_data', 'zip_source_free', 'zip_source_zip_file_create', 'zip_source_commit_write', '_zip_progress_end', 'copy_data', 'zip_error_set', 'zip_source_seek', 'zip_source_rollback_write', '_zip_progress_subrange', 'zip_source_tell_write', 'zip_source_begin_write_cloning', '_zip_dirent_write', 'zip_source_supports', '_zip_dirent_clone', '_zip_file_get_offset', 'write_cdir', '_zip_file_get_end', 'zip_dirent_torrentzip_normalize', 'zip_get_name', '_zip_dirent_merge', 'free', '_zip_progress_start']

1765 2760 zip_close call site: 00764 /src/libzip/lib/zip_close.c:80
29 46 5 :

['zip_error_set_from_source', 'zip_source_remove', 'zip_error_code_system', 'zip_error_code_zip', 'zip_source_error']

29 143 zip_close call site: 00757 /src/libzip/lib/zip_close.c:67
11 11 2 :

['_zip_string_equal', '_zip_string_is_ascii']

11 25 _zip_dirent_process_ef_utf_8 call site: 00384 /src/libzip/lib/zip_dirent.c:727
6 6 3 :

['free', '_zip_progress_free_progress_callback', '_zip_progress_free_cancel_callback']

6 6 _zip_progress_free call site: 00518 /src/libzip/lib/zip_progress.c:75
2 142 9 :

['_zip_buffer_peek', '_zip_buffer_get_32', 'memcmp', '_zip_buffer_free', '_zip_buffer_skip', '_zip_buffer_ok', '_zip_buffer_get_64', '_zip_buffer_new_from_source', 'zip_source_seek']

2 201 _zip_dirent_read call site: 00418 /src/libzip/lib/zip_dirent.c:598
2 4 2 :

['__errno_location', 'zip_error_set']

2 4 allocate call site: 00000 /src/libzip/lib/zip_algorithm_deflate.c:67
2 4 2 :

['EVP_CIPHER_CTX_free', 'zip_error_set']

2 4 _zip_crypto_aes_new call site: 00000 /src/libzip/lib/zip_crypto_openssl.c:98
2 4 2 :

['HMAC_CTX_free', 'zip_error_set']

2 4 _zip_crypto_hmac_new call site: 00000 /src/libzip/lib/zip_crypto_openssl.c:182
2 2 1 :

['deflateEnd']

2 4 end call site: 00000 /src/libzip/lib/zip_algorithm_deflate.c:167
2 2 1 :

['deflate']

2 4 process call site: 00000 /src/libzip/lib/zip_algorithm_deflate.c:218
2 2 1 :

['strlen']

2 2 _zip_dirent_finalize call site: 00240 /src/libzip/lib/zip_dirent.c:248
0 220 3 :

['_zip_source_window_new', 'zip_source_free', 'zip_stat_init']

0 220 zip_source_zip_file_create call site: 00735 /src/libzip/lib/zip_source_zip_new.c:286

Runtime coverage analysis

Covered functions
190
Functions that are reachable but not covered
71
Reachable functions
228
Percentage of reachable functions covered
68.86%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
ossfuzz/zip_read_fuzzer.c 1
lib/zip_error.c 9
lib/zip_source_buffer.c 12
lib/zip_realloc.c 1
lib/zip_source_get_file_attributes.c 2
lib/zip_source_function.c 3
lib/zip_source_supports.c 3
lib/zip_source_seek.c 2
lib/zip_stat_init.c 2
lib/zip_open.c 16
lib/zip_source_stat.c 1
lib/zip_source_error.c 1
lib/zip_source_call.c 1
lib/zip_new.c 1
lib/zip_hash.c 8
lib/zip_source_open.c 1
lib/zip_source_close.c 1
lib/zip_source_accept_empty.c 1
lib/zip_source_tell.c 1
lib/zip_buffer.c 22
lib/zip_io_util.c 4
lib/zip_source_read.c 2
lib/zip_dirent.c 25
lib/zip_entry.c 2
lib/zip_unchange_data.c 1
lib/zip_source_free.c 1
lib/zip_source_rollback_write.c 1
lib/zip_source_window.c 6
lib/zip_string.c 8
lib/zip_extra_field.c 9
lib/zip_utf-8.c 4
lib/zip_memdup.c 1
lib/zip_discard.c 1
lib/zip_progress.c 7
lib/zip_source_layered.c 2
lib/zip_file_get_offset.c 2
lib/zip_source_pass_to_lower_layer.c 1
lib/zip_source_crc.c 2
ossfuzz/zip_read_fuzzer_common.h 1
lib/zip_error_strerror.c 1
lib/zip_set_default_password.c 1
lib/zip_get_num_entries.c 1
lib/zip_fopen_index.c 1
lib/zip_fopen_index_encrypted.c 2
lib/zip_source_zip_new.c 2
lib/zip_stat_index.c 1
lib/zip_get_name.c 2
lib/zip_get_encryption_implementation.c 1
lib/zip_source_compress.c 8
lib/zip_strerror.c 1
lib/zip_fread.c 1
lib/zip_fclose.c 1
lib/zip_close.c 8
lib/zip_source_remove.c 1
lib/zip_source_begin_write_cloning.c 1
lib/zip_source_begin_write.c 1
lib/zip_source_tell_write.c 1
lib/zip_source_get_dostime.c 1
lib/zip_source_write.c 1
lib/zip_source_seek_write.c 1
lib/zip_source_commit_write.c 1

Fuzzer: zip_write_encrypt_aes256_file_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 902 76.3%
gold [1:9] 0 0.0%
yellow [10:29] 1 0.08%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 278 23.5%
All colors 1181 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
260 276 13 :

['zip_error_set_from_source', '_zip_buffer_eof', '_zip_ef_merge', '_zip_read_data', '_zip_buffer_free', '_zip_buffer_get_16', '_zip_ef_remove_internal', '_zip_ef_parse', '__errno_location', 'free', 'zip_error_set', '_zip_buffer_new_from_source', 'zip_source_seek']

260 276 _zip_read_local_ef call site: 00754 /src/libzip/lib/zip_extra_field.c:365
184 184 1 :

['_zip_source_window_new']

314 1320 add_data call site: 00938 /src/libzip/lib/zip_close.c:497
153 153 1 :

['zip_source_decompress']

467 1881 add_data call site: 00928 /src/libzip/lib/zip_close.c:452
103 103 1 :

['_zip_file_get_end']

1050 2681 zip_close call site: 00810 /src/libzip/lib/zip_close.c:140
67 67 1 :

['write_data_descriptor']

67 67 add_data call site: 01097 /src/libzip/lib/zip_close.c:612
60 60 1 :

['_zip_buffer_put_64']

62 332 _zip_cdir_write call site: 01133 /src/libzip/lib/zip_dirent.c:149
50 50 1 :

['_zip_buffer_put_64']

50 682 _zip_dirent_write call site: 00972 /src/libzip/lib/zip_dirent.c:921
29 29 1 :

['_zip_hash_delete']

29 60 _zip_set_name call site: 00739 /src/libzip/lib/zip_set_name.c:127
20 20 1 :

['_zip_ef_clone']

20 20 _zip_file_extra_field_prepare_for_change call site: 00772 /src/libzip/lib/zip_extra_field_api.c:356
15 15 1 :

['zip_source_rollback_write']

15 15 zip_close call site: 01173 /src/libzip/lib/zip_close.c:293
12 46 2 :

['zip_source_free', '_zip_set_open_error']

12 48 zip_open call site: 00055 /src/libzip/lib/zip_open.c:80
12 30 6 :

['stat', 'zip_random_uint32', 'open', '__errno_location', 'free', 'zip_error_set']

14 32 create_temp_file call site: 00000 /src/libzip/lib/zip_source_file_stdio_named.c:329

Runtime coverage analysis

Covered functions
166
Functions that are reachable but not covered
111
Reachable functions
240
Percentage of reachable functions covered
53.75%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
ossfuzz/zip_write_encrypt_aes256_file_fuzzer.c 1
lib/zip_open.c 18
lib/zip_error.c 10
lib/zip_source_file_stdio_named.c 1
lib/zip_source_file_common.c 3
lib/zip_stat_init.c 2
lib/zip_source_get_file_attributes.c 2
lib/zip_source_supports.c 3
lib/zip_source_function.c 3
lib/zip_source_seek.c 2
lib/zip_source_stat.c 1
lib/zip_source_error.c 1
lib/zip_source_call.c 1
lib/zip_new.c 1
lib/zip_hash.c 10
lib/zip_source_open.c 1
lib/zip_source_close.c 1
lib/zip_source_accept_empty.c 1
lib/zip_source_tell.c 1
lib/zip_buffer.c 22
lib/zip_io_util.c 4
lib/zip_source_read.c 2
lib/zip_dirent.c 25
lib/zip_entry.c 2
lib/zip_unchange_data.c 1
lib/zip_source_free.c 1
lib/zip_source_rollback_write.c 1
lib/zip_source_window.c 6
lib/zip_string.c 8
lib/zip_extra_field.c 11
lib/zip_utf-8.c 4
lib/zip_realloc.c 1
lib/zip_memdup.c 1
lib/zip_discard.c 1
lib/zip_progress.c 7
lib/zip_source_layered.c 2
lib/zip_file_get_offset.c 2
lib/zip_source_pass_to_lower_layer.c 1
lib/zip_source_crc.c 2
lib/zip_source_buffer.c 12
lib/zip_strerror.c 1
lib/zip_error_strerror.c 1
lib/zip_file_add.c 1
lib/zip_file_replace.c 1
lib/zip_name_locate.c 1
lib/zip_get_name.c 2
lib/zip_add_entry.c 1
lib/zip_set_name.c 1
lib/zip_extra_field_api.c 2
lib/zip_file_set_encryption.c 1
lib/zip_get_encryption_implementation.c 1
lib/zip_close.c 8
lib/zip_source_remove.c 1
lib/zip_source_begin_write_cloning.c 1
lib/zip_source_begin_write.c 1
lib/zip_source_tell_write.c 1
lib/zip_source_zip_new.c 2
lib/zip_stat_index.c 1
lib/zip_source_compress.c 8
lib/zip_source_get_dostime.c 1
lib/zip_source_write.c 1
lib/zip_source_seek_write.c 1
lib/zip_source_commit_write.c 1

Analyses and suggestions

Optimal target analysis

Remaining optimal interesting functions

The following table shows a list of functions that are optimal targets. Optimal targets are identified by finding the functions that in combination, yield a high code coverage.

Func name Functions filename Arg count Args Function depth hitcount instr count bb count cyclomatic complexity Reachable functions Incoming references total cyclomatic complexity Unreached complexity
zip_source_winzip_aes_encode /src/libzip/lib/zip_source_winzip_aes_encode.c 5 ['N/A', 'N/A', 'short', 'int', 'N/A'] 5 0 115 20 9 58 0 205 118
_zip_stdio_op_create_temp_output_cloning /src/libzip/lib/zip_source_file_stdio_named.c 2 ['N/A', 'size_t'] 4 0 228 21 10 23 0 69 51
zip_source_pkware_encode /src/libzip/lib/zip_source_pkware_encode.c 5 ['N/A', 'N/A', 'short', 'int', 'N/A'] 5 0 174 27 12 62 0 222 39
zip_source_winzip_aes_decode /src/libzip/lib/zip_source_winzip_aes_decode.c 5 ['N/A', 'N/A', 'short', 'int', 'N/A'] 6 0 202 32 14 54 0 199 39

Implementing fuzzers that target the above functions will improve reachability such that it becomes:

Functions statically reachable by fuzzers
82.0%
262 / 320
Cyclomatic complexity statically reachable by fuzzers
89.0%
2153 / 2418

All functions overview

If you implement fuzzers for these functions, the status of all functions in the project will be:

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzz engine guidance

This sections provides heuristics that can be used as input to a fuzz engine when running a given fuzz target. The current focus is on providing input that is usable by libFuzzer.

ossfuzz/zip_write_encrypt_pkware_file_fuzzer.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['zip_realloc', '_zip_buffer_get', 'zip_source_layered_create', '_zip_entry_finalize', 'zip_close', 'zip_source_open', 'zip_source_read', 'zip_file_extra_field_delete', '_zip_dirent_write', 'zip_source_buffer_with_attributes_create']

ossfuzz/zip_read_file_fuzzer.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['_zip_buffer_put_64', 'zip_close', '_zip_find_central_dir', '_zip_dirent_read', 'read_data', 'zip_source_buffer_fragment_with_attributes_create', 'zip_source_file_create', 'window_read', '_zip_read_cdir']

ossfuzz/zip_read_fuzzer.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['_zip_buffer_put_64', 'zip_source_get_dos_time', 'zip_close', '_zip_find_central_dir', '_zip_dirent_read', 'read_data', 'zip_source_buffer_fragment_with_attributes_create', 'window_read', '_zip_read_cdir', 'buffer_grow_fragments']

ossfuzz/zip_write_encrypt_aes256_file_fuzzer.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['_zip_ef_new', 'zip_realloc', '_zip_buffer_get', 'zip_source_layered_create', '_zip_entry_finalize', 'zip_close', 'zip_source_open', 'add_data', 'zip_source_read', 'zip_file_extra_field_delete']

Runtime coverage analysis

This section shows analysis of runtime coverage data.

For futher technical details on how this section is generated, please see the Glossary .

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
zip_close 207 83 40.09% ['zip_write_encrypt_aes256_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer']
add_data 252 126 50.0% ['zip_write_encrypt_aes256_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer']
copy_source 42 17 40.47% ['zip_write_encrypt_aes256_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer']
_zip_cdir_write 87 38 43.67% ['zip_write_encrypt_aes256_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer']
_zip_dirent_write 209 107 51.19% ['zip_write_encrypt_aes256_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer']
_zip_read_local_ef 58 9 15.51% ['zip_write_encrypt_aes256_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer']
_zip_file_replace 41 20 48.78% ['zip_write_encrypt_aes256_file_fuzzer', 'zip_write_encrypt_pkware_file_fuzzer']
zip_file_set_encryption 48 20 41.66% ['zip_write_encrypt_aes256_file_fuzzer', 'zip_write_encrypt_pkware_file_fuzzer']
_zip_name_locate 54 21 38.88% ['zip_write_encrypt_aes256_file_fuzzer', 'zip_write_encrypt_pkware_file_fuzzer']
_zip_set_name 98 40 40.81% ['zip_write_encrypt_aes256_file_fuzzer', 'zip_write_encrypt_pkware_file_fuzzer']
read_data 107 46 42.99% ['zip_write_encrypt_aes256_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer']
zip_source_get_dos_time 31 16 51.61% ['zip_write_encrypt_aes256_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer']
zip_source_pkware_encode 33 14 42.42% ['zip_write_encrypt_pkware_file_fuzzer']
window_read 153 71 46.40% ['zip_write_encrypt_aes256_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer']
zip_stat_index 65 25 38.46% ['zip_write_encrypt_aes256_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer']

Files and Directories in report

This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link

Files in report

Source file Reached by Covered by
[] []
/src/libzip/lib/zip_hash.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.c ['zip_write_encrypt_pkware_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer']
/src/libzip/lib/zip_source_supports.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_winzip_aes.c [] []
/src/libzip/lib/zip_source_begin_write.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_window.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_read_file_fuzzer', 'zip_read_fuzzer']
/src/libzip/lib/zip_source_crc.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/ossfuzz/zip_write_encrypt_aes256_file_fuzzer.c ['zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_dirent.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_file_add.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/ossfuzz/zip_read_file_fuzzer.c ['zip_read_file_fuzzer'] ['zip_read_file_fuzzer']
/src/libzip/lib/zip_extra_field_api.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_stat_index.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_read_file_fuzzer', 'zip_read_fuzzer']
/src/libzip/lib/zip_stat_init.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_tell.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_read_file_fuzzer', 'zip_read_fuzzer']
/src/libzip/ossfuzz/zip_read_fuzzer_common.h ['zip_read_file_fuzzer', 'zip_read_fuzzer'] ['zip_read_file_fuzzer', 'zip_read_fuzzer']
/src/libzip/lib/zip_set_default_password.c ['zip_read_file_fuzzer', 'zip_read_fuzzer'] ['zip_read_file_fuzzer', 'zip_read_fuzzer']
/src/libzip/ossfuzz/zip_read_fuzzer.c ['zip_read_fuzzer'] ['zip_read_fuzzer']
/src/libzip/lib/zip_source_pass_to_lower_layer.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] []
/src/libzip/lib/zip_realloc.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_file_replace.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_begin_write_cloning.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] []
/src/libzip/lib/zip_error_strerror.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_read_file_fuzzer', 'zip_read_fuzzer']
/src/libzip/lib/zip_fclose.c ['zip_read_file_fuzzer', 'zip_read_fuzzer'] ['zip_read_file_fuzzer', 'zip_read_fuzzer']
/src/libzip/lib/zip_source_zip_new.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_read_file_fuzzer', 'zip_read_fuzzer']
/src/libzip/lib/zip_source_seek.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_read_file_fuzzer', 'zip_read_fuzzer']
/src/libzip/lib/zip_source_get_file_attributes.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_read.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_winzip_aes_decode.c [] []
/src/libzip/lib/zip_get_encryption_implementation.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_close.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_utf-8.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_layered.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_set_name.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_random_unix.c [] []
/src/libzip/lib/zip_fopen_index_encrypted.c ['zip_read_file_fuzzer', 'zip_read_fuzzer'] ['zip_read_file_fuzzer', 'zip_read_fuzzer']
/src/libzip/lib/zip_fopen_index.c ['zip_read_file_fuzzer', 'zip_read_fuzzer'] ['zip_read_file_fuzzer', 'zip_read_fuzzer']
/src/libzip/lib/zip_fread.c ['zip_read_file_fuzzer', 'zip_read_fuzzer'] ['zip_read_file_fuzzer', 'zip_read_fuzzer']
/src/libzip/lib/zip_source_write.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_strerror.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_read_file_fuzzer', 'zip_read_fuzzer']
/src/libzip/lib/zip_source_free.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_algorithm_zstd.c [] []
/src/libzip/lib/zip_name_locate.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_close.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_pkware.c [] []
/src/libzip/lib/zip_source_winzip_aes_encode.c [] []
/src/libzip/lib/zip_algorithm_deflate.c [] []
/src/libzip/lib/zip_source_accept_empty.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] []
/src/libzip/lib/zip_source_open.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_tell_write.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_memdup.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_call.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_file_get_offset.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_read_file_fuzzer', 'zip_read_fuzzer']
/src/libzip/lib/zip_io_util.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_file_set_encryption.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_discard.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_entry.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_new.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_get_dostime.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_pkware_decode.c [] []
/src/libzip/lib/zip_source_function.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_file_stdio_named.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_commit_write.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_file_stdio.c [] []
/src/libzip/lib/zip_error.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_seek_write.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_pkware_encode.c [] []
/src/libzip/lib/zip_open.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_buffer.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_extra_field.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_stat.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_error.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_compress.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_string.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_remove.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] []
/src/libzip/lib/zip_get_num_entries.c ['zip_read_file_fuzzer', 'zip_read_fuzzer'] ['zip_read_file_fuzzer', 'zip_read_fuzzer']
/src/libzip/lib/zip_progress.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_rollback_write.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] []
/src/libzip/lib/zip_crypto_openssl.c [] []
/src/libzip/lib/zip_source_buffer.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_unchange_data.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_get_name.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_read_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_add_entry.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']
/src/libzip/lib/zip_source_file_common.c ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer'] ['zip_write_encrypt_pkware_file_fuzzer', 'zip_read_file_fuzzer', 'zip_write_encrypt_aes256_file_fuzzer']

Directories in report

Directory
/src/libzip/lib/
/src/libzip/ossfuzz/