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

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
utils_fuzzer /src/utils_fuzzer.cc 47 463 7 5 605 308 utils_fuzzer.cc
buffer_fuzzer /src/buffer_fuzzer.cc 111 608 16 8 1619 711 buffer_fuzzer.cc
parse_query_fuzzer /src/parse_query_fuzzer.cc 51 979 9 6 703 352 parse_query_fuzzer.cc
/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc /src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc 82 642 16 8 783 386 buffer_add_file_fuzzer.cc
/src/inspector/source-code/src/buffer_add_file_fuzzer.cc /src/inspector/source-code/src/buffer_add_file_fuzzer.cc 82 642 16 8 783 386 buffer_add_file_fuzzer.cc
/src/inspector/source-code/src/bufferevent_fuzzer.cc /src/inspector/source-code/src/bufferevent_fuzzer.cc 303 472 12 15 3866 1809 bufferevent_fuzzer.cc
/src/inspector/source-code/src/utils_fuzzer.cc /src/inspector/source-code/src/utils_fuzzer.cc 47 463 7 5 605 308 utils_fuzzer.cc
/src/inspector/light/source_files/src/buffer_fuzzer.cc /src/inspector/light/source_files/src/buffer_fuzzer.cc 111 608 16 8 1619 711 buffer_fuzzer.cc
/src/inspector/light/source_files/src/bufferevent_fuzzer.cc /src/inspector/light/source_files/src/bufferevent_fuzzer.cc 303 472 12 15 3866 1809 bufferevent_fuzzer.cc
/src/inspector/source-code/src/dns_config_fuzzer.cc /src/inspector/source-code/src/dns_config_fuzzer.cc 465 503 27 18 6176 2849 dns_config_fuzzer.cc
/src/inspector/light/source_files/src/utils_fuzzer.cc /src/inspector/light/source_files/src/utils_fuzzer.cc 47 463 7 5 605 308 utils_fuzzer.cc
/src/inspector/source-code/src/buffer_fuzzer.cc /src/inspector/source-code/src/buffer_fuzzer.cc 111 608 16 8 1619 711 buffer_fuzzer.cc
http_fuzzer /src/http_fuzzer.cc 187 850 16 13 2674 1224 http_fuzzer.cc
/src/inspector/light/source_files/src/dns_config_fuzzer.cc /src/inspector/light/source_files/src/dns_config_fuzzer.cc 465 503 27 18 6176 2849 dns_config_fuzzer.cc
buffer_add_file_fuzzer /src/buffer_add_file_fuzzer.cc 82 642 16 8 783 386 buffer_add_file_fuzzer.cc
bufferevent_fuzzer /src/bufferevent_fuzzer.cc 303 472 12 15 3866 1809 bufferevent_fuzzer.cc
dns_config_fuzzer /src/dns_config_fuzzer.cc 465 503 27 18 6176 2849 dns_config_fuzzer.cc
/src/inspector/light/source_files/src/parse_query_fuzzer.cc /src/inspector/light/source_files/src/parse_query_fuzzer.cc 51 979 9 6 703 352 parse_query_fuzzer.cc
/src/inspector/source-code/src/http_fuzzer.cc /src/inspector/source-code/src/http_fuzzer.cc 187 850 16 13 2674 1224 http_fuzzer.cc
/src/inspector/light/source_files/src/http_fuzzer.cc /src/inspector/light/source_files/src/http_fuzzer.cc 187 850 16 13 2674 1224 http_fuzzer.cc
/src/inspector/source-code/src/parse_query_fuzzer.cc /src/inspector/source-code/src/parse_query_fuzzer.cc 51 979 9 6 703 352 parse_query_fuzzer.cc

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: utils_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 27 23.8%
gold [1:9] 11 9.73%
yellow [10:29] 5 4.42%
greenyellow [30:49] 17 15.0%
lawngreen 50+ 53 46.9%
All colors 113 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
6 101 evutil_getaddrinfo call site: 00101 apply_socktype_protocol_hack
4 96 evutil_getaddrinfo call site: 00096 apply_numeric_port_hack
2 21 evutil_inet_pton_scope call site: 00021 __errno_location
2 42 evutil_inet_ntop call site: 00042 event_strlcpy_
2 75 evutil_new_addrinfo_ call site: 00075 evutil_freeaddrinfo
2 93 evutil_getaddrinfo call site: 00093 test_for_getaddrinfo_hacks
1 7 evutil_parse_sockaddr_port call site: 00007 evutil_inet_pton
1 24 event_mm_strdup_ call site: 00024 __errno_location
1 49 evutil_format_sockaddr_port_ call site: 00049 evutil_snprintf
1 60 test_for_getaddrinfo_hacks call site: 00060 parse_numeric_servname
1 62 parse_numeric_servname call site: 00062 evutil_getaddrinfo_common_
1 65 evutil_getaddrinfo_common_ call site: 00065 getprotobynumber

Runtime coverage analysis

Covered functions
27
Functions that are reachable but not covered
20
Reachable functions
47
Percentage of reachable functions covered
57.45%
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
/src/utils_fuzzer.cc 1
evutil.c 24
/usr/include/x86_64-linux-gnu/bits/byteswap.h 2
event.c 4
strlcpy.c 1

Fuzzer: buffer_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 103 54.7%
gold [1:9] 1 0.53%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 84 44.6%
All colors 188 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
34 36 evbuffer_decref_and_unlock_ call site: 00036 event_deferred_cb_cancel_
20 13 evbuffer_free_all_chains call site: 00013 evbuffer_chain_free
11 76 evbuffer_add call site: 00076 event_deferred_cb_schedule_
9 97 evbuffer_search_range call site: 00097 evbuffer_ptr_subtract
8 168 LLVMFuzzerTestOneInput call site: 00168 APPEND_CHAIN_MULTICAST
7 154 LLVMFuzzerTestOneInput call site: 00154 evbuffer_free_all_chains
2 73 evbuffer_add call site: 00073 evbuffer_chain_insert
2 94 evbuffer_search_eol call site: 00094 evbuffer_search
2 165 LLVMFuzzerTestOneInput call site: 00165 evbuffer_invoke_callbacks_
1 3 event_mm_calloc_ call site: 00003 __errno_location
1 107 evbuffer_readln call site: 00107 event_warn
1 114 evbuffer_drain call site: 00114 evbuffer_chain_free

Runtime coverage analysis

Covered functions
48
Functions that are reachable but not covered
63
Reachable functions
111
Percentage of reachable functions covered
43.24%
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
/src/buffer_fuzzer.cc 1
buffer.c 57
event.c 25
log.c 6
evutil.c 2
minheap-internal.h 4
evmap.c 2
bufferevent.c 1

Fuzzer: parse_query_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 34 26.7%
gold [1:9] 1 0.78%
yellow [10:29] 0 0.0%
greenyellow [30:49] 3 2.36%
lawngreen 50+ 89 70.0%
All colors 127 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
11 20 parse_authority call site: 00020 event_warn
3 111 evhttp_add_header_internal call site: 00111 event_warn
2 8 evhttp_uri_parse_with_flags call site: 00008 __errno_location
2 38 parse_authority call site: 00038 event_mm_strdup_
2 47 bracket_addr_ok call site: 00047 __isoc99_sscanf
2 71 evhttp_uri_parse_with_flags call site: 00071 event_warn
2 108 evhttp_add_header_internal call site: 00108 event_warn
1 6 event_mm_calloc_ call site: 00006 __errno_location
1 11 event_mm_strdup_ call site: 00011 __errno_location
1 36 parse_authority call site: 00036 event_warn
1 59 parse_authority call site: 00059 event_warn
1 63 end_of_path call site: 00063 strlen

Runtime coverage analysis

Covered functions
32
Functions that are reachable but not covered
19
Reachable functions
51
Percentage of reachable functions covered
62.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
/src/parse_query_fuzzer.cc 1
http.c 20
event.c 4
evutil.c 9
log.c 4
/usr/include/x86_64-linux-gnu/bits/byteswap.h 1

Fuzzer: /src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc

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 50 44.6%
gold [1:9] 0 0.0%
yellow [10:29] 14 12.5%
greenyellow [30:49] 1 0.89%
lawngreen 50+ 47 41.9%
All colors 112 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
12 79 event_del_nolock_ call site: 00079 event_errx
10 63 event_del_nolock_ call site: 00063 event_queue_remove_timeout
6 93 evbuffer_add_file_segment call site: 00093 event_deferred_cb_schedule_
4 57 evbuffer_decref_and_unlock_ call site: 00057 event_deferred_cb_cancel_
4 100 event_callback_activate_nolock_ call site: 00100 evbuffer_run_callbacks
3 34 evbuffer_file_segment_materialize call site: 00034 event_mm_free_
2 18 evutil_fd_filesize call site: 00018 evbuffer_file_segment_materialize
2 48 evbuffer_file_segment_free call site: 00048 event_warn
2 52 evbuffer_file_segment_free call site: 00052 evbuffer_chain_free
1 11 event_mm_calloc_ call site: 00011 __errno_location
1 16 evbuffer_file_segment_new call site: 00016 evutil_fd_filesize
1 42 evbuffer_add_file_segment call site: 00042 evbuffer_free_trailing_empty_chains

Runtime coverage analysis

Covered functions
326
Functions that are reachable but not covered
44
Reachable functions
82
Percentage of reachable functions covered
46.34%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc 1
buffer.c 19
event.c 25
evutil.c 3
log.c 6
minheap-internal.h 4
evmap.c 2
bufferevent.c 1

Fuzzer: /src/inspector/source-code/src/buffer_add_file_fuzzer.cc

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 50 44.6%
gold [1:9] 0 0.0%
yellow [10:29] 14 12.5%
greenyellow [30:49] 1 0.89%
lawngreen 50+ 47 41.9%
All colors 112 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
12 79 event_del_nolock_ call site: 00079 event_errx
10 63 event_del_nolock_ call site: 00063 event_queue_remove_timeout
6 93 evbuffer_add_file_segment call site: 00093 event_deferred_cb_schedule_
4 57 evbuffer_decref_and_unlock_ call site: 00057 event_deferred_cb_cancel_
4 100 event_callback_activate_nolock_ call site: 00100 evbuffer_run_callbacks
3 34 evbuffer_file_segment_materialize call site: 00034 event_mm_free_
2 18 evutil_fd_filesize call site: 00018 evbuffer_file_segment_materialize
2 48 evbuffer_file_segment_free call site: 00048 event_warn
2 52 evbuffer_file_segment_free call site: 00052 evbuffer_chain_free
1 11 event_mm_calloc_ call site: 00011 __errno_location
1 16 evbuffer_file_segment_new call site: 00016 evutil_fd_filesize
1 42 evbuffer_add_file_segment call site: 00042 evbuffer_free_trailing_empty_chains

Runtime coverage analysis

Covered functions
326
Functions that are reachable but not covered
44
Reachable functions
82
Percentage of reachable functions covered
46.34%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/source-code/src/buffer_add_file_fuzzer.cc 1
buffer.c 19
event.c 25
evutil.c 3
log.c 6
minheap-internal.h 4
evmap.c 2
bufferevent.c 1

Fuzzer: /src/inspector/source-code/src/bufferevent_fuzzer.cc

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 457 66.1%
gold [1:9] 6 0.86%
yellow [10:29] 14 2.02%
greenyellow [30:49] 3 0.43%
lawngreen 50+ 211 30.5%
All colors 691 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
70 590 event_get_priority call site: 00590 bufferevent_set_rate_limit
47 418 bufferevent_socket_new call site: 00418 bufferevent_decrement_read_buckets_
28 662 evbuffer_remove call site: 00662 bufferevent_free
23 467 bufferevent_socket_new call site: 00467 evbuffer_write_atmost
22 200 event_add_nolock_ call site: 00200 common_timeout_schedule
22 495 evbuffer_drain call site: 00495 bufferevent_decrement_write_buckets_
19 332 event_add call site: 00332 bufferevent_trigger_nolock_
15 136 event_base_priority_init call site: 00136 evthread_make_base_notifiable
13 169 event_assign call site: 00169 event_debug_map_HT_INSERT
13 545 bufferevent_filter_new call site: 00545 be_filter_process_output
11 70 event_del_nolock_ call site: 00070 event_errx
11 152 evutil_make_internal_pipe_ call site: 00152 event_assign

Runtime coverage analysis

Covered functions
326
Functions that are reachable but not covered
159
Reachable functions
303
Percentage of reachable functions covered
47.52%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/source-code/src/bufferevent_fuzzer.cc 1
event.c 71
log.c 9
evutil.c 15
evutil_time.c 3
minheap-internal.h 11
evmap.c 19
bufferevent_pair.c 8
bufferevent.c 35
buffer.c 49
bufferevent_ratelim.c 26
bufferevent-internal.h 1
bufferevent_sock.c 6
evthread-internal.h 1
bufferevent_filter.c 11

Fuzzer: /src/inspector/source-code/src/utils_fuzzer.cc

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 29 25.6%
gold [1:9] 10 8.84%
yellow [10:29] 1 0.88%
greenyellow [30:49] 7 6.19%
lawngreen 50+ 66 58.4%
All colors 113 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
6 101 evutil_getaddrinfo call site: 00101 apply_socktype_protocol_hack
4 96 evutil_getaddrinfo call site: 00096 apply_numeric_port_hack
2 21 evutil_inet_pton_scope call site: 00021 __errno_location
2 42 evutil_inet_ntop call site: 00042 event_strlcpy_
2 49 evutil_format_sockaddr_port_ call site: 00049 evutil_getaddrinfo
2 75 evutil_new_addrinfo_ call site: 00075 evutil_freeaddrinfo
2 93 evutil_getaddrinfo call site: 00093 test_for_getaddrinfo_hacks
1 7 evutil_parse_sockaddr_port call site: 00007 evutil_inet_pton
1 24 event_mm_strdup_ call site: 00024 __errno_location
1 60 test_for_getaddrinfo_hacks call site: 00060 parse_numeric_servname
1 62 parse_numeric_servname call site: 00062 evutil_getaddrinfo_common_
1 65 evutil_getaddrinfo_common_ call site: 00065 getprotobynumber

Runtime coverage analysis

Covered functions
326
Functions that are reachable but not covered
19
Reachable functions
47
Percentage of reachable functions covered
59.57%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/source-code/src/utils_fuzzer.cc 1
evutil.c 24
/usr/include/x86_64-linux-gnu/bits/byteswap.h 2
event.c 4
strlcpy.c 1

Fuzzer: /src/inspector/light/source_files/src/buffer_fuzzer.cc

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 86 45.7%
gold [1:9] 1 0.53%
yellow [10:29] 11 5.85%
greenyellow [30:49] 1 0.53%
lawngreen 50+ 89 47.3%
All colors 188 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
12 58 event_del_nolock_ call site: 00058 event_errx
11 165 LLVMFuzzerTestOneInput call site: 00165 evbuffer_add_buffer_reference
10 42 event_del_nolock_ call site: 00042 event_queue_remove_timeout
7 154 LLVMFuzzerTestOneInput call site: 00154 evbuffer_free_all_chains
6 76 evbuffer_add call site: 00076 event_deferred_cb_schedule_
4 36 evbuffer_decref_and_unlock_ call site: 00036 event_deferred_cb_cancel_
4 83 event_callback_activate_nolock_ call site: 00083 evbuffer_run_callbacks
3 93 find_eol_char call site: 00093 evbuffer_search
3 118 LLVMFuzzerTestOneInput call site: 00118 evbuffer_add
2 3 event_mm_calloc_ call site: 00003 evbuffer_add
2 31 evbuffer_file_segment_free call site: 00031 evbuffer_chain_free
2 97 evbuffer_search_range call site: 00097 evbuffer_ptr_memcmp

Runtime coverage analysis

Covered functions
326
Functions that are reachable but not covered
42
Reachable functions
111
Percentage of reachable functions covered
62.16%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/light/source_files/src/buffer_fuzzer.cc 1
buffer.c 57
event.c 25
log.c 6
evutil.c 2
minheap-internal.h 4
evmap.c 2
bufferevent.c 1

Fuzzer: /src/inspector/light/source_files/src/bufferevent_fuzzer.cc

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 457 66.1%
gold [1:9] 6 0.86%
yellow [10:29] 14 2.02%
greenyellow [30:49] 3 0.43%
lawngreen 50+ 211 30.5%
All colors 691 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
70 590 event_get_priority call site: 00590 bufferevent_set_rate_limit
47 418 bufferevent_socket_new call site: 00418 bufferevent_decrement_read_buckets_
28 662 evbuffer_remove call site: 00662 bufferevent_free
23 467 bufferevent_socket_new call site: 00467 evbuffer_write_atmost
22 200 event_add_nolock_ call site: 00200 common_timeout_schedule
22 495 evbuffer_drain call site: 00495 bufferevent_decrement_write_buckets_
19 332 event_add call site: 00332 bufferevent_trigger_nolock_
15 136 event_base_priority_init call site: 00136 evthread_make_base_notifiable
13 169 event_assign call site: 00169 event_debug_map_HT_INSERT
13 545 bufferevent_filter_new call site: 00545 be_filter_process_output
11 70 event_del_nolock_ call site: 00070 event_errx
11 152 evutil_make_internal_pipe_ call site: 00152 event_assign

Runtime coverage analysis

Covered functions
326
Functions that are reachable but not covered
159
Reachable functions
303
Percentage of reachable functions covered
47.52%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/light/source_files/src/bufferevent_fuzzer.cc 1
event.c 71
log.c 9
evutil.c 15
evutil_time.c 3
minheap-internal.h 11
evmap.c 19
bufferevent_pair.c 8
bufferevent.c 35
buffer.c 49
bufferevent_ratelim.c 26
bufferevent-internal.h 1
bufferevent_sock.c 6
evthread-internal.h 1
bufferevent_filter.c 11

Fuzzer: /src/inspector/source-code/src/dns_config_fuzzer.cc

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 812 63.8%
gold [1:9] 12 0.94%
yellow [10:29] 11 0.86%
greenyellow [30:49] 9 0.70%
lawngreen 50+ 428 33.6%
All colors 1272 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
125 823 evutil_sockaddr_cmp call site: 00823 reply_parse
83 959 bufferevent_enable call site: 00959 evdns_getaddrinfo_gotresolve
46 386 evutil_ascii_strcasecmp call site: 00386 evdns_base_resolve_ipv4
40 721 evbuffer_remove call site: 00721 reply_parse
38 346 evutil_getaddrinfo call site: 00346 evutil_getaddrinfo_common_
36 786 evutil_sockaddr_is_loopback_ call site: 00786 nameserver_ready_callback
33 585 event_add call site: 00585 bufferevent_trigger_nolock_
23 620 bufferevent_socket_new call site: 00620 evbuffer_write_atmost
22 200 event_add_nolock_ call site: 00200 common_timeout_schedule
22 648 evbuffer_drain call site: 00648 bufferevent_decrement_write_buckets_
19 541 bufferevent_socket_new call site: 00541 evbuffer_read
17 567 evbuffer_free_all_chains call site: 00567 bufferevent_decrement_read_buckets_

Runtime coverage analysis

Covered functions
326
Functions that are reachable but not covered
260
Reachable functions
465
Percentage of reachable functions covered
44.09%
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
/src/inspector/source-code/src/dns_config_fuzzer.cc 1
event.c 70
log.c 9
evutil.c 62
evutil_time.c 3
minheap-internal.h 11
evmap.c 19
evdns.c 106
evutil_rand.c 3
./arc4random.c 13
/usr/include/x86_64-linux-gnu/bits/byteswap.h 2
bufferevent.c 31
buffer.c 42
bufferevent_ratelim.c 15
bufferevent_sock.c 7
evthread-internal.h 1
bufferevent-internal.h 1
strlcpy.c 1

Fuzzer: /src/inspector/light/source_files/src/utils_fuzzer.cc

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 29 25.6%
gold [1:9] 10 8.84%
yellow [10:29] 1 0.88%
greenyellow [30:49] 7 6.19%
lawngreen 50+ 66 58.4%
All colors 113 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
6 101 evutil_getaddrinfo call site: 00101 apply_socktype_protocol_hack
4 96 evutil_getaddrinfo call site: 00096 apply_numeric_port_hack
2 21 evutil_inet_pton_scope call site: 00021 __errno_location
2 42 evutil_inet_ntop call site: 00042 event_strlcpy_
2 49 evutil_format_sockaddr_port_ call site: 00049 evutil_getaddrinfo
2 75 evutil_new_addrinfo_ call site: 00075 evutil_freeaddrinfo
2 93 evutil_getaddrinfo call site: 00093 test_for_getaddrinfo_hacks
1 7 evutil_parse_sockaddr_port call site: 00007 evutil_inet_pton
1 24 event_mm_strdup_ call site: 00024 __errno_location
1 60 test_for_getaddrinfo_hacks call site: 00060 parse_numeric_servname
1 62 parse_numeric_servname call site: 00062 evutil_getaddrinfo_common_
1 65 evutil_getaddrinfo_common_ call site: 00065 getprotobynumber

Runtime coverage analysis

Covered functions
326
Functions that are reachable but not covered
19
Reachable functions
47
Percentage of reachable functions covered
59.57%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/light/source_files/src/utils_fuzzer.cc 1
evutil.c 24
/usr/include/x86_64-linux-gnu/bits/byteswap.h 2
event.c 4
strlcpy.c 1

Fuzzer: /src/inspector/source-code/src/buffer_fuzzer.cc

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 86 45.7%
gold [1:9] 1 0.53%
yellow [10:29] 11 5.85%
greenyellow [30:49] 1 0.53%
lawngreen 50+ 89 47.3%
All colors 188 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
12 58 event_del_nolock_ call site: 00058 event_errx
11 165 LLVMFuzzerTestOneInput call site: 00165 evbuffer_add_buffer_reference
10 42 event_del_nolock_ call site: 00042 event_queue_remove_timeout
7 154 LLVMFuzzerTestOneInput call site: 00154 evbuffer_free_all_chains
6 76 evbuffer_add call site: 00076 event_deferred_cb_schedule_
4 36 evbuffer_decref_and_unlock_ call site: 00036 event_deferred_cb_cancel_
4 83 event_callback_activate_nolock_ call site: 00083 evbuffer_run_callbacks
3 93 find_eol_char call site: 00093 evbuffer_search
3 118 LLVMFuzzerTestOneInput call site: 00118 evbuffer_add
2 3 event_mm_calloc_ call site: 00003 evbuffer_add
2 31 evbuffer_file_segment_free call site: 00031 evbuffer_chain_free
2 97 evbuffer_search_range call site: 00097 evbuffer_ptr_memcmp

Runtime coverage analysis

Covered functions
326
Functions that are reachable but not covered
42
Reachable functions
111
Percentage of reachable functions covered
62.16%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/source-code/src/buffer_fuzzer.cc 1
buffer.c 57
event.c 25
log.c 6
evutil.c 2
minheap-internal.h 4
evmap.c 2
bufferevent.c 1

Fuzzer: http_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 185 43.5%
gold [1:9] 10 2.35%
yellow [10:29] 4 0.94%
greenyellow [30:49] 1 0.23%
lawngreen 50+ 225 52.9%
All colors 425 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
61 362 LLVMFuzzerTestOneInput call site: 00362 evhttp_free
34 44 evbuffer_decref_and_unlock_ call site: 00044 event_deferred_cb_cancel_
11 84 evbuffer_add call site: 00084 event_deferred_cb_schedule_
10 31 evbuffer_free_all_chains call site: 00031 evbuffer_chain_free
10 131 evbuffer_readln call site: 00131 evbuffer_search
6 4 event_mm_calloc_ call site: 00004 event_warn
5 11 evutil_vsnprintf call site: 00011 evutil_snprintf
4 101 evhttp_request_new call site: 00101 evhttp_request_free
4 278 evhttp_add_header_internal call site: 00278 event_warn
4 339 evhttp_uri_join call site: 00339 evbuffer_add
3 334 evhttp_uri_join call site: 00334 evbuffer_add_printf
2 146 evbuffer_search_eol call site: 00146 evbuffer_strchr

Runtime coverage analysis

Covered functions
86
Functions that are reachable but not covered
101
Reachable functions
187
Percentage of reachable functions covered
45.99%
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
/src/http_fuzzer.cc 1
http.c 46
event.c 36
log.c 6
evutil.c 10
buffer.c 42
minheap-internal.h 4
evmap.c 2
bufferevent.c 10
/usr/include/x86_64-linux-gnu/bits/byteswap.h 1
listener.c 2
bufferevent_ratelim.c 1
ws.c 1

Fuzzer: /src/inspector/light/source_files/src/dns_config_fuzzer.cc

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 812 63.8%
gold [1:9] 12 0.94%
yellow [10:29] 11 0.86%
greenyellow [30:49] 9 0.70%
lawngreen 50+ 428 33.6%
All colors 1272 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
125 823 evutil_sockaddr_cmp call site: 00823 reply_parse
83 959 bufferevent_enable call site: 00959 evdns_getaddrinfo_gotresolve
46 386 evutil_ascii_strcasecmp call site: 00386 evdns_base_resolve_ipv4
40 721 evbuffer_remove call site: 00721 reply_parse
38 346 evutil_getaddrinfo call site: 00346 evutil_getaddrinfo_common_
36 786 evutil_sockaddr_is_loopback_ call site: 00786 nameserver_ready_callback
33 585 event_add call site: 00585 bufferevent_trigger_nolock_
23 620 bufferevent_socket_new call site: 00620 evbuffer_write_atmost
22 200 event_add_nolock_ call site: 00200 common_timeout_schedule
22 648 evbuffer_drain call site: 00648 bufferevent_decrement_write_buckets_
19 541 bufferevent_socket_new call site: 00541 evbuffer_read
17 567 evbuffer_free_all_chains call site: 00567 bufferevent_decrement_read_buckets_

Runtime coverage analysis

Covered functions
326
Functions that are reachable but not covered
260
Reachable functions
465
Percentage of reachable functions covered
44.09%
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
/src/inspector/light/source_files/src/dns_config_fuzzer.cc 1
event.c 70
log.c 9
evutil.c 62
evutil_time.c 3
minheap-internal.h 11
evmap.c 19
evdns.c 106
evutil_rand.c 3
./arc4random.c 13
/usr/include/x86_64-linux-gnu/bits/byteswap.h 2
bufferevent.c 31
buffer.c 42
bufferevent_ratelim.c 15
bufferevent_sock.c 7
evthread-internal.h 1
bufferevent-internal.h 1
strlcpy.c 1

Fuzzer: buffer_add_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 60 53.5%
gold [1:9] 0 0.0%
yellow [10:29] 12 10.7%
greenyellow [30:49] 1 0.89%
lawngreen 50+ 39 34.8%
All colors 112 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
34 57 evbuffer_decref_and_unlock_ call site: 00057 event_deferred_cb_cancel_
11 93 evbuffer_add_file_segment call site: 00093 event_deferred_cb_schedule_
4 16 evbuffer_file_segment_new call site: 00016 evbuffer_file_segment_materialize
3 34 evbuffer_file_segment_materialize call site: 00034 event_mm_free_
3 42 evbuffer_add_file_segment call site: 00042 evbuffer_free_trailing_empty_chains
2 48 evbuffer_file_segment_free call site: 00048 event_warn
2 52 evbuffer_file_segment_free call site: 00052 evbuffer_chain_free
1 11 event_mm_calloc_ call site: 00011 __errno_location

Runtime coverage analysis

Covered functions
24
Functions that are reachable but not covered
58
Reachable functions
82
Percentage of reachable functions covered
29.27%
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
/src/buffer_add_file_fuzzer.cc 1
buffer.c 19
event.c 25
evutil.c 3
log.c 6
minheap-internal.h 4
evmap.c 2
bufferevent.c 1

Fuzzer: bufferevent_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 491 71.0%
gold [1:9] 8 1.15%
yellow [10:29] 4 0.57%
greenyellow [30:49] 5 0.72%
lawngreen 50+ 183 26.4%
All colors 691 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
63 619 LLVMFuzzerTestOneInput call site: 00619 bufferevent_rate_limit_group_new
50 467 bufferevent_socket_new call site: 00467 bufferevent_decrement_write_buckets_
47 418 bufferevent_socket_new call site: 00418 bufferevent_decrement_read_buckets_
26 280 be_pair_wants_to_talk call site: 00280 be_pair_transfer
24 307 event_callback_activate_nolock_ call site: 00307 evbuffer_add_buffer
22 200 event_add_nolock_ call site: 00200 common_timeout_schedule
22 593 LLVMFuzzerTestOneInput call site: 00593 bev_refill_callback_
19 332 event_add call site: 00332 bufferevent_trigger_nolock_
15 136 event_base_priority_init call site: 00136 evthread_make_base_notifiable
15 169 event_assign call site: 00169 event_priority_set
13 545 bufferevent_filter_new call site: 00545 be_filter_process_output
11 70 event_del_nolock_ call site: 00070 event_errx

Runtime coverage analysis

Covered functions
135
Functions that are reachable but not covered
191
Reachable functions
303
Percentage of reachable functions covered
36.96%
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
/src/bufferevent_fuzzer.cc 1
event.c 71
log.c 9
evutil.c 15
evutil_time.c 3
minheap-internal.h 11
evmap.c 19
bufferevent_pair.c 8
bufferevent.c 35
buffer.c 49
bufferevent_ratelim.c 26
bufferevent-internal.h 1
bufferevent_sock.c 6
evthread-internal.h 1
bufferevent_filter.c 11

Fuzzer: dns_config_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 924 72.6%
gold [1:9] 1 0.07%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 347 27.2%
All colors 1272 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
219 823 evutil_sockaddr_cmp call site: 00823 evdns_getaddrinfo_gotresolve
127 457 search_state_decref call site: 00457 evdns_requests_pump_waiting_queue
123 332 evutil_inet_pton_scope call site: 00332 evdns_base_resolve_ipv4
103 585 event_add call site: 00585 bufferevent_writecb
72 689 evutil_socket_ call site: 00689 client_tcp_read_packet_cb
37 275 evdns_base_new call site: 00275 evutil_getaddrinfo
36 786 evutil_sockaddr_is_loopback_ call site: 00786 nameserver_ready_callback
22 200 event_add_nolock_ call site: 00200 common_timeout_schedule
15 136 event_base_priority_init call site: 00136 evthread_make_base_notifiable
13 169 event_assign call site: 00169 event_debug_map_HT_INSERT
11 70 event_del_nolock_ call site: 00070 event_errx
11 152 evutil_make_internal_pipe_ call site: 00152 event_assign

Runtime coverage analysis

Covered functions
138
Functions that are reachable but not covered
337
Reachable functions
465
Percentage of reachable functions covered
27.53%
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
/src/dns_config_fuzzer.cc 1
event.c 70
log.c 9
evutil.c 62
evutil_time.c 3
minheap-internal.h 11
evmap.c 19
evdns.c 106
evutil_rand.c 3
./arc4random.c 13
/usr/include/x86_64-linux-gnu/bits/byteswap.h 2
bufferevent.c 31
buffer.c 42
bufferevent_ratelim.c 15
bufferevent_sock.c 7
evthread-internal.h 1
bufferevent-internal.h 1
strlcpy.c 1

Fuzzer: /src/inspector/light/source_files/src/parse_query_fuzzer.cc

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 24 18.8%
gold [1:9] 1 0.78%
yellow [10:29] 10 7.87%
greenyellow [30:49] 1 0.78%
lawngreen 50+ 91 71.6%
All colors 127 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
3 111 evhttp_add_header_internal call site: 00111 event_warn
2 8 evhttp_uri_parse_with_flags call site: 00008 __errno_location
2 38 parse_authority call site: 00038 event_mm_strdup_
2 71 evhttp_uri_parse_with_flags call site: 00071 event_warn
2 108 evhttp_add_header_internal call site: 00108 event_warn
2 122 evhttp_parse_query_impl call site: 00122 evhttp_parse_query_str_flags
1 0 EP call site: 00000 evhttp_parse_query
1 6 event_mm_calloc_ call site: 00006 __errno_location
1 11 event_mm_strdup_ call site: 00011 __errno_location
1 20 parse_authority call site: 00020 event_warn
1 36 parse_authority call site: 00036 event_warn
1 59 parse_authority call site: 00059 event_warn

Runtime coverage analysis

Covered functions
326
Functions that are reachable but not covered
14
Reachable functions
51
Percentage of reachable functions covered
72.55%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/light/source_files/src/parse_query_fuzzer.cc 1
http.c 20
event.c 4
evutil.c 9
log.c 4
/usr/include/x86_64-linux-gnu/bits/byteswap.h 1

Fuzzer: /src/inspector/source-code/src/http_fuzzer.cc

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 150 35.2%
gold [1:9] 10 2.35%
yellow [10:29] 13 3.05%
greenyellow [30:49] 2 0.47%
lawngreen 50+ 250 58.8%
All colors 425 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
16 357 evhttp_uri_join call site: 00357 evhttp_free
14 409 bufferevent_decref call site: 00409 evhttp_free
12 66 event_del_nolock_ call site: 00066 event_errx
10 50 event_del_nolock_ call site: 00050 event_queue_remove_timeout
6 84 evbuffer_add call site: 00084 event_deferred_cb_schedule_
5 91 event_callback_activate_nolock_ call site: 00091 evhttp_request_new
4 44 evbuffer_decref_and_unlock_ call site: 00044 event_deferred_cb_cancel_
4 101 evhttp_request_new call site: 00101 evhttp_request_free
4 278 evhttp_add_header_internal call site: 00278 event_warn
4 339 evhttp_uri_join call site: 00339 evbuffer_add
4 380 event_debug_unassign call site: 00380 bufferevent_free
4 402 bufferevent_finalize_cb_ call site: 00402 bufferevent_remove_from_rate_limit_group_internal_

Runtime coverage analysis

Covered functions
326
Functions that are reachable but not covered
61
Reachable functions
187
Percentage of reachable functions covered
67.38%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/source-code/src/http_fuzzer.cc 1
http.c 46
event.c 36
log.c 6
evutil.c 10
buffer.c 42
minheap-internal.h 4
evmap.c 2
bufferevent.c 10
/usr/include/x86_64-linux-gnu/bits/byteswap.h 1
listener.c 2
bufferevent_ratelim.c 1
ws.c 1

Fuzzer: /src/inspector/light/source_files/src/http_fuzzer.cc

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 150 35.2%
gold [1:9] 10 2.35%
yellow [10:29] 13 3.05%
greenyellow [30:49] 2 0.47%
lawngreen 50+ 250 58.8%
All colors 425 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
16 357 evhttp_uri_join call site: 00357 evhttp_free
14 409 bufferevent_decref call site: 00409 evhttp_free
12 66 event_del_nolock_ call site: 00066 event_errx
10 50 event_del_nolock_ call site: 00050 event_queue_remove_timeout
6 84 evbuffer_add call site: 00084 event_deferred_cb_schedule_
5 91 event_callback_activate_nolock_ call site: 00091 evhttp_request_new
4 44 evbuffer_decref_and_unlock_ call site: 00044 event_deferred_cb_cancel_
4 101 evhttp_request_new call site: 00101 evhttp_request_free
4 278 evhttp_add_header_internal call site: 00278 event_warn
4 339 evhttp_uri_join call site: 00339 evbuffer_add
4 380 event_debug_unassign call site: 00380 bufferevent_free
4 402 bufferevent_finalize_cb_ call site: 00402 bufferevent_remove_from_rate_limit_group_internal_

Runtime coverage analysis

Covered functions
326
Functions that are reachable but not covered
61
Reachable functions
187
Percentage of reachable functions covered
67.38%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/light/source_files/src/http_fuzzer.cc 1
http.c 46
event.c 36
log.c 6
evutil.c 10
buffer.c 42
minheap-internal.h 4
evmap.c 2
bufferevent.c 10
/usr/include/x86_64-linux-gnu/bits/byteswap.h 1
listener.c 2
bufferevent_ratelim.c 1
ws.c 1

Fuzzer: /src/inspector/source-code/src/parse_query_fuzzer.cc

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 24 18.8%
gold [1:9] 1 0.78%
yellow [10:29] 10 7.87%
greenyellow [30:49] 1 0.78%
lawngreen 50+ 91 71.6%
All colors 127 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
3 111 evhttp_add_header_internal call site: 00111 event_warn
2 8 evhttp_uri_parse_with_flags call site: 00008 __errno_location
2 38 parse_authority call site: 00038 event_mm_strdup_
2 71 evhttp_uri_parse_with_flags call site: 00071 event_warn
2 108 evhttp_add_header_internal call site: 00108 event_warn
2 122 evhttp_parse_query_impl call site: 00122 evhttp_parse_query_str_flags
1 0 EP call site: 00000 evhttp_parse_query
1 6 event_mm_calloc_ call site: 00006 __errno_location
1 11 event_mm_strdup_ call site: 00011 __errno_location
1 20 parse_authority call site: 00020 event_warn
1 36 parse_authority call site: 00036 event_warn
1 59 parse_authority call site: 00059 event_warn

Runtime coverage analysis

Covered functions
326
Functions that are reachable but not covered
14
Reachable functions
51
Percentage of reachable functions covered
72.55%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/inspector/source-code/src/parse_query_fuzzer.cc 1
http.c 20
event.c 4
evutil.c 9
log.c 4
/usr/include/x86_64-linux-gnu/bits/byteswap.h 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
evhttp_start /src/libevent/http.c 2 ['N/A', 'short'] 37 0 32 8 4 430 0 2673 651
evdns_server_request_respond /src/libevent/evdns.c 2 ['N/A', 'int'] 18 0 167 32 14 153 0 908 179
event_base_dispatch /src/libevent/event.c 1 ['N/A'] 11 0 12 3 2 77 0 474 134
evws_new_session /src/libevent/ws.c 4 ['N/A', 'N/A', 'N/A', 'int'] 30 0 138 28 12 370 0 2311 90
epoll_dispatch /src/libevent/epoll.c 2 ['N/A', 'N/A'] 7 0 319 71 28 29 0 134 77
event_reinit /src/libevent/event.c 1 ['N/A'] 9 0 240 51 19 103 0 542 65
evthread_set_lock_callbacks /src/libevent/evthread.c 1 ['N/A'] 7 0 157 37 16 24 0 93 48
event_base_dump_events /src/libevent/event.c 2 ['N/A', 'N/A'] 3 0 46 9 4 11 0 62 46
sigfd_add /src/libevent/signalfd.c 5 ['N/A', 'int', 'short', 'short', 'N/A'] 8 0 127 25 11 88 0 450 36
epoll_init /src/libevent/epoll.c 1 ['N/A'] 9 0 193 43 18 69 0 266 35

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

Functions statically reachable by fuzzers
66.0%
722 / 1101
Cyclomatic complexity statically reachable by fuzzers
76.0%
5190 / 6821

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.

/src/utils_fuzzer.cc

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=['evutil_getaddrinfo', 'evutil_inet_pton_scope', 'evutil_inet_ntop', 'evutil_new_addrinfo_', 'evutil_parse_sockaddr_port', 'event_mm_strdup_', 'evutil_format_sockaddr_port_', 'test_for_getaddrinfo_hacks']

/src/buffer_fuzzer.cc

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=['evbuffer_decref_and_unlock_', 'evbuffer_free_all_chains', 'evbuffer_add', 'evbuffer_search_range', 'LLVMFuzzerTestOneInput', 'evbuffer_search_eol', 'event_mm_calloc_']

/src/parse_query_fuzzer.cc

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=['parse_authority', 'evhttp_add_header_internal', 'evhttp_uri_parse_with_flags', 'bracket_addr_ok', 'event_mm_calloc_', 'event_mm_strdup_']

/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc

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=['event_del_nolock_', 'evbuffer_add_file_segment', 'evbuffer_decref_and_unlock_', 'event_callback_activate_nolock_', 'evbuffer_file_segment_materialize', 'evutil_fd_filesize', 'evbuffer_file_segment_free', 'event_mm_calloc_']

/src/inspector/source-code/src/buffer_add_file_fuzzer.cc

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=['event_del_nolock_', 'evbuffer_add_file_segment', 'evbuffer_decref_and_unlock_', 'event_callback_activate_nolock_', 'evbuffer_file_segment_materialize', 'evutil_fd_filesize', 'evbuffer_file_segment_free', 'event_mm_calloc_']

/src/inspector/source-code/src/bufferevent_fuzzer.cc

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=['event_get_priority', 'bufferevent_socket_new', 'evbuffer_remove', 'event_add_nolock_', 'evbuffer_drain', 'event_add', 'event_base_priority_init', 'event_assign', 'bufferevent_filter_new']

/src/inspector/source-code/src/utils_fuzzer.cc

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=['evutil_getaddrinfo', 'evutil_inet_pton_scope', 'evutil_inet_ntop', 'evutil_format_sockaddr_port_', 'evutil_new_addrinfo_', 'evutil_parse_sockaddr_port', 'event_mm_strdup_', 'test_for_getaddrinfo_hacks']

/src/inspector/light/source_files/src/buffer_fuzzer.cc

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=['event_del_nolock_', 'LLVMFuzzerTestOneInput', 'evbuffer_add', 'evbuffer_decref_and_unlock_', 'event_callback_activate_nolock_', 'find_eol_char', 'event_mm_calloc_']

/src/inspector/light/source_files/src/bufferevent_fuzzer.cc

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=['event_get_priority', 'bufferevent_socket_new', 'evbuffer_remove', 'event_add_nolock_', 'evbuffer_drain', 'event_add', 'event_base_priority_init', 'event_assign', 'bufferevent_filter_new']

/src/inspector/source-code/src/dns_config_fuzzer.cc

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=['evutil_sockaddr_cmp', 'bufferevent_enable', 'evutil_ascii_strcasecmp', 'evbuffer_remove', 'evutil_getaddrinfo', 'evutil_sockaddr_is_loopback_', 'event_add', 'bufferevent_socket_new', 'event_add_nolock_', 'evbuffer_drain']

/src/inspector/light/source_files/src/utils_fuzzer.cc

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=['evutil_getaddrinfo', 'evutil_inet_pton_scope', 'evutil_inet_ntop', 'evutil_format_sockaddr_port_', 'evutil_new_addrinfo_', 'evutil_parse_sockaddr_port', 'event_mm_strdup_', 'test_for_getaddrinfo_hacks']

/src/inspector/source-code/src/buffer_fuzzer.cc

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=['event_del_nolock_', 'LLVMFuzzerTestOneInput', 'evbuffer_add', 'evbuffer_decref_and_unlock_', 'event_callback_activate_nolock_', 'find_eol_char', 'event_mm_calloc_']

/src/http_fuzzer.cc

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=['LLVMFuzzerTestOneInput', 'evbuffer_decref_and_unlock_', 'evbuffer_add', 'evbuffer_free_all_chains', 'evbuffer_readln', 'event_mm_calloc_', 'evutil_vsnprintf', 'evhttp_request_new', 'evhttp_add_header_internal', 'evhttp_uri_join']

/src/inspector/light/source_files/src/dns_config_fuzzer.cc

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=['evutil_sockaddr_cmp', 'bufferevent_enable', 'evutil_ascii_strcasecmp', 'evbuffer_remove', 'evutil_getaddrinfo', 'evutil_sockaddr_is_loopback_', 'event_add', 'bufferevent_socket_new', 'event_add_nolock_', 'evbuffer_drain']

/src/buffer_add_file_fuzzer.cc

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=['evbuffer_decref_and_unlock_', 'evbuffer_add_file_segment', 'evbuffer_file_segment_new', 'evbuffer_file_segment_materialize', 'evbuffer_file_segment_free', 'event_mm_calloc_']

/src/bufferevent_fuzzer.cc

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=['LLVMFuzzerTestOneInput', 'bufferevent_socket_new', 'be_pair_wants_to_talk', 'event_callback_activate_nolock_', 'event_add_nolock_', 'event_add', 'event_base_priority_init', 'event_assign']

/src/dns_config_fuzzer.cc

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=['evutil_sockaddr_cmp', 'search_state_decref', 'evutil_inet_pton_scope', 'event_add', 'evutil_socket_', 'evdns_base_new', 'evutil_sockaddr_is_loopback_', 'event_add_nolock_', 'event_base_priority_init', 'event_assign']

/src/inspector/light/source_files/src/parse_query_fuzzer.cc

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=['evhttp_add_header_internal', 'evhttp_uri_parse_with_flags', 'parse_authority', 'evhttp_parse_query_impl', 'event_mm_calloc_', 'event_mm_strdup_']

/src/inspector/source-code/src/http_fuzzer.cc

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=['evhttp_uri_join', 'bufferevent_decref', 'event_del_nolock_', 'evbuffer_add', 'event_callback_activate_nolock_', 'evbuffer_decref_and_unlock_', 'evhttp_request_new', 'evhttp_add_header_internal']

/src/inspector/light/source_files/src/http_fuzzer.cc

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=['evhttp_uri_join', 'bufferevent_decref', 'event_del_nolock_', 'evbuffer_add', 'event_callback_activate_nolock_', 'evbuffer_decref_and_unlock_', 'evhttp_request_new', 'evhttp_add_header_internal']

/src/inspector/source-code/src/parse_query_fuzzer.cc

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=['evhttp_add_header_internal', 'evhttp_uri_parse_with_flags', 'parse_authority', 'evhttp_parse_query_impl', 'event_mm_calloc_', 'event_mm_strdup_']

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
evutil_getaddrinfo 35 19 54.28% ['/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', 'dns_config_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', 'utils_fuzzer', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc']
evbuffer_commit_space 54 24 44.44% ['/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', 'buffer_fuzzer', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc']
evbuffer_prepend_buffer 32 12 37.5% ['/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', 'buffer_fuzzer', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc']
evbuffer_chain_free 42 23 54.76% ['/src/inspector/light/source_files/src/buffer_fuzzer.cc', 'bufferevent_fuzzer', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', 'dns_config_fuzzer', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', 'http_fuzzer', 'buffer_fuzzer', '/src/inspector/source-code/src/parse_query_fuzzer.cc', 'buffer_add_file_fuzzer']
PRESERVE_PINNED 32 7 21.87% ['/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', 'bufferevent_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', 'buffer_fuzzer', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc']
ev_token_bucket_cfg_new 34 10 29.41% ['/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', 'bufferevent_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc']
bufferevent_set_rate_limit 61 15 24.59% ['/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', 'bufferevent_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc']
epoll_init 65 27 41.53% ['/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', 'bufferevent_fuzzer', 'dns_config_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc']
event_add_nolock_ 102 37 36.27% ['/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', 'bufferevent_fuzzer', 'dns_config_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc']
event_base_free_ 82 42 51.21% ['/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', 'bufferevent_fuzzer', 'dns_config_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc']
event_base_cancel_single_callback_ 33 18 54.54% ['/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', 'bufferevent_fuzzer', 'dns_config_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc']
evhttp_free 36 16 44.44% ['/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', 'http_fuzzer', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc']
evhttp_request_new 36 18 50.0% ['/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', 'http_fuzzer', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc']
epoll_apply_one_change 65 28 43.07% ['/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', 'dns_config_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc']

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/libevent/poll.c [] []
/src/libevent/bufferevent.c ['buffer_fuzzer', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', 'http_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'buffer_add_file_fuzzer', 'bufferevent_fuzzer', 'dns_config_fuzzer', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc'] ['/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'bufferevent_fuzzer', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc']
/src/inspector/light/source_files/src/buffer_fuzzer.cc ['/src/inspector/light/source_files/src/buffer_fuzzer.cc'] ['/src/inspector/light/source_files/src/buffer_fuzzer.cc']
/src/libevent/signal.c [] []
/src/libevent/./arc4random.c ['/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'dns_config_fuzzer'] []
/src/libevent/ws.c ['http_fuzzer', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc'] []
/src/libevent/evthread-internal.h ['/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'bufferevent_fuzzer', 'dns_config_fuzzer'] []
/usr/include/x86_64-linux-gnu/bits/byteswap.h ['utils_fuzzer', 'parse_query_fuzzer', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', 'http_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'dns_config_fuzzer', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc'] []
/src/inspector/light/source_files/src/bufferevent_fuzzer.cc ['/src/inspector/light/source_files/src/bufferevent_fuzzer.cc'] ['/src/inspector/light/source_files/src/bufferevent_fuzzer.cc']
/src/bufferevent_fuzzer.cc ['bufferevent_fuzzer'] ['bufferevent_fuzzer']
/src/libevent/bufferevent_pair.c ['/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', 'bufferevent_fuzzer'] ['/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', 'bufferevent_fuzzer']
/src/libevent/event.c ['utils_fuzzer', 'buffer_fuzzer', 'parse_query_fuzzer', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', 'http_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'buffer_add_file_fuzzer', 'bufferevent_fuzzer', 'dns_config_fuzzer', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc'] ['utils_fuzzer', 'buffer_fuzzer', 'parse_query_fuzzer', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', 'http_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'buffer_add_file_fuzzer', 'bufferevent_fuzzer', 'dns_config_fuzzer', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc']
/src/inspector/light/source_files/src/http_fuzzer.cc ['/src/inspector/light/source_files/src/http_fuzzer.cc'] ['/src/inspector/light/source_files/src/http_fuzzer.cc']
/src/libevent/bufferevent_sock.c ['/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'bufferevent_fuzzer', 'dns_config_fuzzer'] ['/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'bufferevent_fuzzer']
/src/libevent/bufferevent-internal.h ['/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'bufferevent_fuzzer', 'dns_config_fuzzer'] []
/src/libevent/strlcpy.c ['utils_fuzzer', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'dns_config_fuzzer'] ['utils_fuzzer', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'dns_config_fuzzer']
/src/inspector/source-code/src/bufferevent_fuzzer.cc ['/src/inspector/source-code/src/bufferevent_fuzzer.cc'] ['/src/inspector/source-code/src/bufferevent_fuzzer.cc']
/src/libevent/minheap-internal.h ['buffer_fuzzer', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', 'http_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'buffer_add_file_fuzzer', 'bufferevent_fuzzer', 'dns_config_fuzzer', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc'] ['/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'bufferevent_fuzzer', 'dns_config_fuzzer', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc']
/src/libevent/evdns.c ['/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'dns_config_fuzzer'] ['/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'dns_config_fuzzer']
/src/libevent/evmap.c ['buffer_fuzzer', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', 'http_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'buffer_add_file_fuzzer', 'bufferevent_fuzzer', 'dns_config_fuzzer', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc'] ['/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'bufferevent_fuzzer', 'dns_config_fuzzer', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc']
/src/inspector/source-code/src/http_fuzzer.cc ['/src/inspector/source-code/src/http_fuzzer.cc'] ['/src/inspector/source-code/src/http_fuzzer.cc']
/src/libevent/evthread.c [] []
/src/inspector/light/source_files/src/parse_query_fuzzer.cc ['/src/inspector/light/source_files/src/parse_query_fuzzer.cc'] ['/src/inspector/light/source_files/src/parse_query_fuzzer.cc']
/src/http_fuzzer.cc ['http_fuzzer'] ['http_fuzzer']
/src/parse_query_fuzzer.cc ['parse_query_fuzzer'] ['parse_query_fuzzer']
/src/inspector/light/source_files/src/dns_config_fuzzer.cc ['/src/inspector/light/source_files/src/dns_config_fuzzer.cc'] ['/src/inspector/light/source_files/src/dns_config_fuzzer.cc']
/src/libevent/select.c [] []
/src/libevent/bufferevent_ratelim.c ['/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', 'http_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'bufferevent_fuzzer', 'dns_config_fuzzer', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc'] ['/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'bufferevent_fuzzer', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc']
/src/inspector/light/source_files/src/utils_fuzzer.cc ['/src/inspector/light/source_files/src/utils_fuzzer.cc'] ['/src/inspector/light/source_files/src/utils_fuzzer.cc']
/src/inspector/source-code/src/utils_fuzzer.cc ['/src/inspector/source-code/src/utils_fuzzer.cc'] ['/src/inspector/source-code/src/utils_fuzzer.cc']
/src/libevent/evutil_rand.c ['/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'dns_config_fuzzer'] ['/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'dns_config_fuzzer']
/src/libevent/sha1.c [] []
/src/libevent/evutil.c ['utils_fuzzer', 'buffer_fuzzer', 'parse_query_fuzzer', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', 'http_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'buffer_add_file_fuzzer', 'bufferevent_fuzzer', 'dns_config_fuzzer', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc'] ['utils_fuzzer', 'parse_query_fuzzer', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/utils_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/utils_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', 'http_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'buffer_add_file_fuzzer', 'bufferevent_fuzzer', 'dns_config_fuzzer', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc']
/src/libevent/bufferevent_filter.c ['/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', 'bufferevent_fuzzer'] ['/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', 'bufferevent_fuzzer']
/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc ['/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc'] ['/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc']
/src/libevent/buffer.c ['buffer_fuzzer', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', 'http_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'buffer_add_file_fuzzer', 'bufferevent_fuzzer', 'dns_config_fuzzer', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc'] ['buffer_fuzzer', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', 'http_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'buffer_add_file_fuzzer', 'bufferevent_fuzzer', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc']
/src/inspector/source-code/src/buffer_add_file_fuzzer.cc ['/src/inspector/source-code/src/buffer_add_file_fuzzer.cc'] ['/src/inspector/source-code/src/buffer_add_file_fuzzer.cc']
/src/utils_fuzzer.cc ['utils_fuzzer'] ['utils_fuzzer']
/src/libevent/http.c ['parse_query_fuzzer', 'http_fuzzer', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc'] ['parse_query_fuzzer', 'http_fuzzer', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc']
/src/libevent/signalfd.c [] []
/src/inspector/source-code/src/dns_config_fuzzer.cc ['/src/inspector/source-code/src/dns_config_fuzzer.cc'] ['/src/inspector/source-code/src/dns_config_fuzzer.cc']
/src/inspector/source-code/src/buffer_fuzzer.cc ['/src/inspector/source-code/src/buffer_fuzzer.cc'] ['/src/inspector/source-code/src/buffer_fuzzer.cc']
/src/buffer_add_file_fuzzer.cc ['buffer_add_file_fuzzer'] ['buffer_add_file_fuzzer']
/src/libevent/log.c ['buffer_fuzzer', 'parse_query_fuzzer', '/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', 'http_fuzzer', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'buffer_add_file_fuzzer', 'bufferevent_fuzzer', 'dns_config_fuzzer', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc'] ['/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/buffer_add_file_fuzzer.cc', '/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/source-code/src/buffer_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'buffer_add_file_fuzzer', 'bufferevent_fuzzer', 'dns_config_fuzzer', '/src/inspector/light/source_files/src/parse_query_fuzzer.cc', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc', '/src/inspector/source-code/src/parse_query_fuzzer.cc']
/src/inspector/source-code/src/parse_query_fuzzer.cc ['/src/inspector/source-code/src/parse_query_fuzzer.cc'] ['/src/inspector/source-code/src/parse_query_fuzzer.cc']
/src/libevent/epoll.c [] []
/src/libevent/listener.c ['http_fuzzer', '/src/inspector/source-code/src/http_fuzzer.cc', '/src/inspector/light/source_files/src/http_fuzzer.cc'] []
/src/dns_config_fuzzer.cc ['dns_config_fuzzer'] ['dns_config_fuzzer']
/src/buffer_fuzzer.cc ['buffer_fuzzer'] ['buffer_fuzzer']
/src/libevent/evutil_time.c ['/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'bufferevent_fuzzer', 'dns_config_fuzzer'] ['/src/inspector/source-code/src/bufferevent_fuzzer.cc', '/src/inspector/light/source_files/src/bufferevent_fuzzer.cc', '/src/inspector/source-code/src/dns_config_fuzzer.cc', '/src/inspector/light/source_files/src/dns_config_fuzzer.cc', 'bufferevent_fuzzer', 'dns_config_fuzzer']

Directories in report

Directory
/usr/include/x86_64-linux-gnu/bits/
/src/inspector/source-code/src/
/src/libevent/./
/src/inspector/light/source_files/src/
/src/
/src/libevent/

Metadata section

This sections shows the raw data that is used to produce this report. This is mainly used for further processing and developer debugging.

Fuzzer Calltree file Program data file Coverage file
utils_fuzzer fuzzerLogFile-0-kDsD2kzuzi.data fuzzerLogFile-0-kDsD2kzuzi.data.yaml utils_fuzzer.covreport
buffer_fuzzer fuzzerLogFile-0-UHNplCli5y.data fuzzerLogFile-0-UHNplCli5y.data.yaml buffer_fuzzer.covreport
parse_query_fuzzer fuzzerLogFile-0-UxubYkYMpf.data fuzzerLogFile-0-UxubYkYMpf.data.yaml parse_query_fuzzer.covreport
/src/inspector/light/source_files/src/buffer_add_file_fuzzer.cc fuzzerLogFile-0-nCfmDIqoWH.data fuzzerLogFile-0-nCfmDIqoWH.data.yaml utils_fuzzer.covreport , parse_query_fuzzer.covreport , buffer_fuzzer.covreport , bufferevent_fuzzer.covreport , http_fuzzer.covreport , dns_config_fuzzer.covreport , buffer_add_file_fuzzer.covreport
/src/inspector/source-code/src/buffer_add_file_fuzzer.cc fuzzerLogFile-0-JDyZaYDRBl.data fuzzerLogFile-0-JDyZaYDRBl.data.yaml utils_fuzzer.covreport , parse_query_fuzzer.covreport , buffer_fuzzer.covreport , bufferevent_fuzzer.covreport , http_fuzzer.covreport , dns_config_fuzzer.covreport , buffer_add_file_fuzzer.covreport
/src/inspector/source-code/src/bufferevent_fuzzer.cc fuzzerLogFile-0-1JBsy8wDt1.data fuzzerLogFile-0-1JBsy8wDt1.data.yaml utils_fuzzer.covreport , parse_query_fuzzer.covreport , buffer_fuzzer.covreport , bufferevent_fuzzer.covreport , http_fuzzer.covreport , dns_config_fuzzer.covreport , buffer_add_file_fuzzer.covreport
/src/inspector/source-code/src/utils_fuzzer.cc fuzzerLogFile-0-gDmFgmcuhX.data fuzzerLogFile-0-gDmFgmcuhX.data.yaml utils_fuzzer.covreport , parse_query_fuzzer.covreport , buffer_fuzzer.covreport , bufferevent_fuzzer.covreport , http_fuzzer.covreport , dns_config_fuzzer.covreport , buffer_add_file_fuzzer.covreport
/src/inspector/light/source_files/src/buffer_fuzzer.cc fuzzerLogFile-0-eWgcLOhYHR.data fuzzerLogFile-0-eWgcLOhYHR.data.yaml utils_fuzzer.covreport , parse_query_fuzzer.covreport , buffer_fuzzer.covreport , bufferevent_fuzzer.covreport , http_fuzzer.covreport , dns_config_fuzzer.covreport , buffer_add_file_fuzzer.covreport
/src/inspector/light/source_files/src/bufferevent_fuzzer.cc fuzzerLogFile-0-1427LWddOK.data fuzzerLogFile-0-1427LWddOK.data.yaml utils_fuzzer.covreport , parse_query_fuzzer.covreport , buffer_fuzzer.covreport , bufferevent_fuzzer.covreport , http_fuzzer.covreport , dns_config_fuzzer.covreport , buffer_add_file_fuzzer.covreport
/src/inspector/source-code/src/dns_config_fuzzer.cc fuzzerLogFile-0-IPtjJOZlSz.data fuzzerLogFile-0-IPtjJOZlSz.data.yaml utils_fuzzer.covreport , parse_query_fuzzer.covreport , buffer_fuzzer.covreport , bufferevent_fuzzer.covreport , http_fuzzer.covreport , dns_config_fuzzer.covreport , buffer_add_file_fuzzer.covreport
/src/inspector/light/source_files/src/utils_fuzzer.cc fuzzerLogFile-0-gdl5zhKW7L.data fuzzerLogFile-0-gdl5zhKW7L.data.yaml utils_fuzzer.covreport , parse_query_fuzzer.covreport , buffer_fuzzer.covreport , bufferevent_fuzzer.covreport , http_fuzzer.covreport , dns_config_fuzzer.covreport , buffer_add_file_fuzzer.covreport
/src/inspector/source-code/src/buffer_fuzzer.cc fuzzerLogFile-0-y5fv6rmyem.data fuzzerLogFile-0-y5fv6rmyem.data.yaml utils_fuzzer.covreport , parse_query_fuzzer.covreport , buffer_fuzzer.covreport , bufferevent_fuzzer.covreport , http_fuzzer.covreport , dns_config_fuzzer.covreport , buffer_add_file_fuzzer.covreport
http_fuzzer fuzzerLogFile-0-m7fZZwAzKN.data fuzzerLogFile-0-m7fZZwAzKN.data.yaml http_fuzzer.covreport
/src/inspector/light/source_files/src/dns_config_fuzzer.cc fuzzerLogFile-0-Rhb8yBrL5E.data fuzzerLogFile-0-Rhb8yBrL5E.data.yaml utils_fuzzer.covreport , parse_query_fuzzer.covreport , buffer_fuzzer.covreport , bufferevent_fuzzer.covreport , http_fuzzer.covreport , dns_config_fuzzer.covreport , buffer_add_file_fuzzer.covreport
buffer_add_file_fuzzer fuzzerLogFile-0-xoRMlsJPLL.data fuzzerLogFile-0-xoRMlsJPLL.data.yaml buffer_add_file_fuzzer.covreport
bufferevent_fuzzer fuzzerLogFile-0-OmkBIfXwZa.data fuzzerLogFile-0-OmkBIfXwZa.data.yaml bufferevent_fuzzer.covreport
dns_config_fuzzer fuzzerLogFile-0-DL3O3uv6wP.data fuzzerLogFile-0-DL3O3uv6wP.data.yaml dns_config_fuzzer.covreport
/src/inspector/light/source_files/src/parse_query_fuzzer.cc fuzzerLogFile-0-MC09RQeHu9.data fuzzerLogFile-0-MC09RQeHu9.data.yaml utils_fuzzer.covreport , parse_query_fuzzer.covreport , buffer_fuzzer.covreport , bufferevent_fuzzer.covreport , http_fuzzer.covreport , dns_config_fuzzer.covreport , buffer_add_file_fuzzer.covreport
/src/inspector/source-code/src/http_fuzzer.cc fuzzerLogFile-0-RNoaXzXa3x.data fuzzerLogFile-0-RNoaXzXa3x.data.yaml utils_fuzzer.covreport , parse_query_fuzzer.covreport , buffer_fuzzer.covreport , bufferevent_fuzzer.covreport , http_fuzzer.covreport , dns_config_fuzzer.covreport , buffer_add_file_fuzzer.covreport
/src/inspector/light/source_files/src/http_fuzzer.cc fuzzerLogFile-0-rn2tPp7cF7.data fuzzerLogFile-0-rn2tPp7cF7.data.yaml utils_fuzzer.covreport , parse_query_fuzzer.covreport , buffer_fuzzer.covreport , bufferevent_fuzzer.covreport , http_fuzzer.covreport , dns_config_fuzzer.covreport , buffer_add_file_fuzzer.covreport
/src/inspector/source-code/src/parse_query_fuzzer.cc fuzzerLogFile-0-bfLh2hMEoK.data fuzzerLogFile-0-bfLh2hMEoK.data.yaml utils_fuzzer.covreport , parse_query_fuzzer.covreport , buffer_fuzzer.covreport , bufferevent_fuzzer.covreport , http_fuzzer.covreport , dns_config_fuzzer.covreport , buffer_add_file_fuzzer.covreport