Fuzz introspector

Project overview

High level conclusions

Fuzzers reach 13.10% of cyclomatic complexity. Improvements could be made
Fuzzers reach 12.61% of all functions. Improvements need to be made
Fuzzer fuzz_variant_text is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer fuzz_variant_binary is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer fuzz_uri_parse_params is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer fuzz_uri_parse is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer fuzz_uri_escape is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer fuzz_resolver is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer fuzz_paths is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer fuzz_network_address_parse_uri is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer fuzz_network_address_parse is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer fuzz_key is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer fuzz_inet_socket_address_new_from_string is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer fuzz_inet_address_new_from_string is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer fuzz_inet_address_mask_new_from_string is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer fuzz_dbus_message is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer fuzz_date_time_new_from_iso8601 is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer fuzz_date_parse is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer fuzz_canonicalize_filename is blocked: runtime coverage only covers 0.0% of its reachable functions.
Fuzzer fuzz_bookmark is blocked: runtime coverage only covers 0.0% of its reachable functions.

Reachability and coverage overview

Functions statically reachable by fuzzers
12.62%
1194/9464
Cyclomatic complexity statically reachable by fuzzers
13.11%
7369/56229
Functions covered at runtime
0

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
fuzz_uri_parse_params ../../src/glib/fuzzing/fuzz_uri_parse_params.c 304 1524 31 33 3175 1459 fuzz_uri_parse_params.c
fuzz_dbus_message ../../src/glib/fuzzing/fuzz_dbus_message.c 704 8677 31 54 9092 3890 fuzz_dbus_message.c
fuzz_network_address_parse_uri ../../src/glib/fuzzing/fuzz_network_address_parse_uri.c 519 8862 31 52 7191 3149 fuzz_network_address_parse_uri.c
fuzz_uri_parse ../../src/glib/fuzzing/fuzz_uri_parse.c 368 1461 31 38 4947 2186 fuzz_uri_parse.c
fuzz_inet_address_mask_new_from_string ../../src/glib/fuzzing/fuzz_inet_address_mask_new_from_string.c 472 3064 31 50 5628 2517 fuzz_inet_address_mask_new_from_string.c
fuzz_variant_text ../../src/glib/fuzzing/fuzz_variant_text.c 520 1392 31 41 5923 2535 fuzz_variant_text.c
fuzz_date_time_new_from_iso8601 ../../src/glib/fuzzing/fuzz_date_time_new_from_iso8601.c 467 1551 31 41 6014 2651 fuzz_date_time_new_from_iso8601.c
fuzz_network_address_parse ../../src/glib/fuzzing/fuzz_network_address_parse.c 464 8917 31 48 5582 2495 fuzz_network_address_parse.c
fuzz_variant_binary ../../src/glib/fuzzing/fuzz_variant_binary.c 432 1396 31 39 4421 1957 fuzz_variant_binary.c
fuzz_bookmark ../../src/glib/fuzzing/fuzz_bookmark.c 372 1780 31 38 4117 1854 fuzz_bookmark.c
fuzz_inet_address_new_from_string ../../src/glib/fuzzing/fuzz_inet_address_new_from_string.c 461 3048 31 47 5537 2474 fuzz_inet_address_new_from_string.c
fuzz_canonicalize_filename ../../src/glib/fuzzing/fuzz_canonicalize_filename.c 299 1529 31 34 3120 1433 fuzz_canonicalize_filename.c
fuzz_resolver ../../src/glib/fuzzing/fuzz_resolver.c 446 8936 31 43 4803 2137 fuzz_resolver.c
fuzz_date_parse ../../src/glib/fuzzing/fuzz_date_parse.c 330 1556 30 36 3732 1689 fuzz_date_parse.c
fuzz_paths ../../src/glib/fuzzing/fuzz_paths.c 292 1536 31 33 2952 1365 fuzz_paths.c
fuzz_key ../../src/glib/fuzzing/fuzz_key.c 347 1579 31 35 3825 1738 fuzz_key.c
fuzz_uri_escape ../../src/glib/fuzzing/fuzz_uri_escape.c 309 1521 31 34 3188 1471 fuzz_uri_escape.c
fuzz_inet_socket_address_new_from_string ../../src/glib/fuzzing/fuzz_inet_socket_address_new_from_string.c 487 8894 31 52 5737 2575 fuzz_inet_socket_address_new_from_string.c

Fuzzer details

Fuzzer: fuzz_uri_parse_params

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
914 0 EP call site g_uri_parse_params

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
304
Reachable functions
304
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_uri_parse_params.c 1
../../src/glib/fuzzing/fuzz.h 2
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 11
../../src/glib/glib/gprintf.c 5
/ 53
../../src/glib/glib/gtestutils.c 21
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gmem.c 7
../../src/glib/glib/gutf8.c 6
../../src/glib/glib/gthread-posix.c 18
../../src/glib/glib/gcharset.c 5
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 11
../../src/glib/glib/gslice.c 38
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 14
../../src/glib/glib/ghash.c 28
../../src/glib/glib/grefcount.c 2
../../src/glib/glib/gquark.c 5
../../src/glib/glib/ggettext.c 4
../../src/glib/glib/gslist.c 8
../../src/glib/glib/gerror.c 11
../../src/glib/glib/garray.c 6
../../src/glib/glib/guri.c 8

Fuzzer: fuzz_dbus_message

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
2883 0 EP call site g_dbus_message_new_from_blob

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
704
Reachable functions
704
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_dbus_message.c 1
../../src/glib/fuzzing/fuzz.h 2
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 14
../../src/glib/glib/gprintf.c 5
/ 63
../../src/glib/glib/gtestutils.c 21
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gmem.c 7
../../src/glib/glib/gutf8.c 6
../../src/glib/glib/gthread-posix.c 25
../../src/glib/glib/gcharset.c 5
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 12
../../src/glib/glib/gslice.c 39
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 14
../../src/glib/glib/ghash.c 34
../../src/glib/glib/grefcount.c 4
../../src/glib/glib/gquark.c 8
../../src/glib/glib/ggettext.c 5
../../src/glib/glib/gslist.c 10
../../src/glib/glib/gerror.c 12
../../src/glib/glib/garray.c 6
../../src/glib/gio/gdbusmessage.c 41
../../src/glib/gio/gioerror.c 1
../../src/glib/gobject/gtype.c 50
../../src/glib/gobject/gtypeplugin.c 3
../../src/glib/gobject/gatomicarray.c 5
../../src/glib/gobject/gobject.c 20
../../src/glib/gobject/gparam.c 9
../../src/glib/gobject/gvalue.c 13
../../src/glib/glib/gdataset.c 11
../../src/glib/glib/gbitlock.c 7
../../src/glib/glib/gbsearcharray.h 3
../../src/glib/gobject/gvaluetypes.c 2
../../src/glib/gobject/gboxed.c 3
../../src/glib/glib/gvarianttype.c 32
../../src/glib/glib/gvariant.c 90
../../src/glib/glib/gbytes.c 8
../../src/glib/glib/gvariant-core.c 23
../../src/glib/glib/gvarianttypeinfo.c 20
../../src/glib/glib/gvariant-serialiser.c 15
../../src/glib/gobject/gsignal.c 6
../../src/glib/gobject/gclosure.c 6
../../src/glib/gio/gunixfdlist.c 3

Fuzzer: fuzz_network_address_parse_uri

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1797 0 EP call site g_network_address_parse_uri

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
519
Reachable functions
519
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_network_address_parse_uri.c 1
../../src/glib/fuzzing/fuzz.h 2
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 15
../../src/glib/glib/gprintf.c 5
/ 64
../../src/glib/glib/gtestutils.c 20
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gmem.c 9
../../src/glib/glib/gutf8.c 12
../../src/glib/glib/gthread-posix.c 25
../../src/glib/glib/gcharset.c 5
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 14
../../src/glib/glib/gslice.c 39
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 14
../../src/glib/glib/ghash.c 29
../../src/glib/glib/grefcount.c 2
../../src/glib/glib/gquark.c 8
../../src/glib/glib/ggettext.c 4
../../src/glib/glib/gslist.c 10
../../src/glib/glib/gerror.c 10
../../src/glib/glib/garray.c 6
../../src/glib/gio/gnetworkaddress.c 3
../../src/glib/glib/guri.c 14
../../src/glib/glib/ghostutils.c 13
../../src/glib/glib/guniprop.c 8
../../src/glib/glib/gunidecomp.c 8
../../src/glib/gio/gioerror.c 1
../../src/glib/gobject/gtype.c 50
../../src/glib/gobject/gtypeplugin.c 3
../../src/glib/gobject/gatomicarray.c 5
../../src/glib/gio/gsocketconnectable.c 3
../../src/glib/gobject/gobject.c 20
../../src/glib/gobject/gparam.c 9
../../src/glib/gobject/gvalue.c 13
../../src/glib/glib/gdataset.c 11
../../src/glib/glib/gbitlock.c 4
../../src/glib/glib/gbsearcharray.h 3
../../src/glib/gobject/gvaluetypes.c 2
../../src/glib/gobject/gboxed.c 3
../../src/glib/gobject/gsignal.c 6
../../src/glib/gobject/gclosure.c 6

Fuzzer: fuzz_uri_parse

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1196 0 EP call site test_with_flags

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
368
Reachable functions
368
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_uri_parse.c 2
../../src/glib/fuzzing/fuzz.h 2
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 13
../../src/glib/glib/gprintf.c 5
/ 57
../../src/glib/glib/gtestutils.c 20
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gmem.c 9
../../src/glib/glib/gutf8.c 13
../../src/glib/glib/gthread-posix.c 18
../../src/glib/glib/gcharset.c 5
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 15
../../src/glib/glib/gslice.c 38
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 14
../../src/glib/glib/ghash.c 24
../../src/glib/glib/grefcount.c 3
../../src/glib/glib/gquark.c 4
../../src/glib/glib/ggettext.c 4
../../src/glib/glib/gslist.c 8
../../src/glib/glib/gerror.c 10
../../src/glib/glib/garray.c 6
../../src/glib/glib/guri.c 26
../../src/glib/glib/garcbox.c 2
../../src/glib/glib/grcbox.c 1
../../src/glib/glib/ghostutils.c 13
../../src/glib/glib/guniprop.c 8
../../src/glib/glib/gunidecomp.c 8

Fuzzer: fuzz_inet_address_mask_new_from_string

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1580 0 EP call site g_inet_address_mask_new_from_string

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
472
Reachable functions
472
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_inet_address_mask_new_from_string.c 1
../../src/glib/fuzzing/fuzz.h 2
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 12
../../src/glib/glib/gprintf.c 5
/ 63
../../src/glib/glib/gtestutils.c 20
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gmem.c 7
../../src/glib/glib/gutf8.c 6
../../src/glib/glib/gthread-posix.c 25
../../src/glib/glib/gcharset.c 5
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 12
../../src/glib/glib/gslice.c 39
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 14
../../src/glib/glib/ghash.c 29
../../src/glib/glib/grefcount.c 2
../../src/glib/glib/gquark.c 8
../../src/glib/glib/ggettext.c 4
../../src/glib/glib/gslist.c 10
../../src/glib/glib/gerror.c 10
../../src/glib/glib/garray.c 6
../../src/glib/gio/ginetaddressmask.c 5
../../src/glib/gio/gioerror.c 1
../../src/glib/gio/ginetaddress.c 6
../../src/glib/gio/gnetworking.c 1
../../src/glib/gobject/gtype.c 50
../../src/glib/gobject/gtypeplugin.c 3
../../src/glib/gobject/gatomicarray.c 5
../../src/glib/gobject/gobject.c 20
../../src/glib/gobject/gparam.c 9
../../src/glib/gobject/gvalue.c 13
../../src/glib/glib/gdataset.c 11
../../src/glib/glib/gbitlock.c 4
../../src/glib/glib/gbsearcharray.h 3
../../src/glib/gobject/gvaluetypes.c 2
../../src/glib/gobject/gboxed.c 3
../../src/glib/gio/ginitable.c 4
../../src/glib/gobject/gsignal.c 6
../../src/glib/gobject/gclosure.c 6

Fuzzer: fuzz_variant_text

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1814 0 EP call site parse

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
520
Reachable functions
520
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_variant_text.c 1
../../src/glib/fuzzing/fuzz.h 2
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 17
../../src/glib/glib/gprintf.c 5
/ 65
../../src/glib/glib/gtestutils.c 21
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gmem.c 7
../../src/glib/glib/gutf8.c 7
../../src/glib/glib/gthread-posix.c 23
../../src/glib/glib/gcharset.c 5
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 15
../../src/glib/glib/gslice.c 38
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 14
../../src/glib/glib/ghash.c 30
../../src/glib/glib/grefcount.c 4
../../src/glib/glib/gquark.c 4
../../src/glib/glib/ggettext.c 4
../../src/glib/glib/gslist.c 8
../../src/glib/glib/gerror.c 10
../../src/glib/glib/garray.c 6
../../src/glib/glib/gvariant-parser.c 38
../../src/glib/glib/gvariant.c 62
../../src/glib/glib/gvarianttype.c 30
../../src/glib/glib/gvariant-core.c 20
../../src/glib/glib/gvarianttypeinfo.c 20
../../src/glib/glib/gbytes.c 7
../../src/glib/glib/gbitlock.c 4
../../src/glib/glib/gvariant-serialiser.c 12
../../src/glib/glib/guniprop.c 1

Fuzzer: fuzz_date_time_new_from_iso8601

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1633 0 EP call site g_date_time_new_from_iso8601

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
467
Reachable functions
467
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_date_time_new_from_iso8601.c 1
../../src/glib/fuzzing/fuzz.h 2
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 12
../../src/glib/glib/gprintf.c 5
/ 69
../../src/glib/glib/gtestutils.c 20
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gmem.c 9
../../src/glib/glib/gutf8.c 9
../../src/glib/glib/gthread-posix.c 18
../../src/glib/glib/gcharset.c 7
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 12
../../src/glib/glib/gslice.c 38
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 18
../../src/glib/glib/ghash.c 28
../../src/glib/glib/grefcount.c 2
../../src/glib/glib/gquark.c 4
../../src/glib/glib/ggettext.c 5
../../src/glib/glib/gslist.c 8
../../src/glib/glib/gerror.c 11
../../src/glib/glib/garray.c 11
../../src/glib/glib/gdatetime.c 37
../../src/glib/glib/gtimezone.c 40
../../src/glib/glib/gfileutils.c 17
//usr/include/x86_64-linux-gnu/sys/stat.h 3
../../src/glib/glib/gdate.c 17
../../src/glib/glib/gmappedfile.c 7
../../src/glib/glib/gbytes.c 3
../../src/glib/glib/guniprop.c 10
../../src/glib/glib/gunidecomp.c 4

Fuzzer: fuzz_network_address_parse

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1568 0 EP call site g_network_address_parse

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
464
Reachable functions
464
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_network_address_parse.c 1
../../src/glib/fuzzing/fuzz.h 2
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 12
../../src/glib/glib/gprintf.c 5
/ 64
../../src/glib/glib/gtestutils.c 20
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gmem.c 7
../../src/glib/glib/gutf8.c 6
../../src/glib/glib/gthread-posix.c 25
../../src/glib/glib/gcharset.c 5
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 12
../../src/glib/glib/gslice.c 39
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 14
../../src/glib/glib/ghash.c 29
../../src/glib/glib/grefcount.c 2
../../src/glib/glib/gquark.c 8
../../src/glib/glib/ggettext.c 4
../../src/glib/glib/gslist.c 10
../../src/glib/glib/gerror.c 10
../../src/glib/glib/garray.c 6
../../src/glib/gio/gnetworkaddress.c 4
../../src/glib/gio/gioerror.c 1
../../src/glib/gobject/gtype.c 50
../../src/glib/gobject/gtypeplugin.c 3
../../src/glib/gobject/gatomicarray.c 5
../../src/glib/gio/gsocketconnectable.c 3
../../src/glib/gobject/gobject.c 20
../../src/glib/gobject/gparam.c 9
../../src/glib/gobject/gvalue.c 13
../../src/glib/glib/gdataset.c 11
../../src/glib/glib/gbitlock.c 4
../../src/glib/glib/gbsearcharray.h 3
../../src/glib/gobject/gvaluetypes.c 2
../../src/glib/gobject/gboxed.c 3
../../src/glib/gobject/gsignal.c 6
../../src/glib/gobject/gclosure.c 6

Fuzzer: fuzz_variant_binary

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1323 0 EP call site g_variant_get_normal_form

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
432
Reachable functions
432
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_variant_binary.c 1
../../src/glib/fuzzing/fuzz.h 2
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 10
../../src/glib/glib/gprintf.c 5
/ 60
../../src/glib/glib/gtestutils.c 21
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gmem.c 7
../../src/glib/glib/gutf8.c 6
../../src/glib/glib/gthread-posix.c 23
../../src/glib/glib/gcharset.c 5
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 11
../../src/glib/glib/gslice.c 38
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 14
../../src/glib/glib/ghash.c 30
../../src/glib/glib/grefcount.c 4
../../src/glib/glib/gquark.c 4
../../src/glib/glib/ggettext.c 4
../../src/glib/glib/gslist.c 8
../../src/glib/glib/gerror.c 10
../../src/glib/glib/garray.c 6
../../src/glib/glib/gvariant.c 29
../../src/glib/glib/gvarianttype.c 27
../../src/glib/glib/gbytes.c 7
../../src/glib/glib/gvariant-core.c 22
../../src/glib/glib/gvarianttypeinfo.c 20
../../src/glib/glib/gvariant-serialiser.c 14
../../src/glib/glib/gbitlock.c 4

Fuzzer: fuzz_bookmark

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1250 0 EP call site g_bookmark_file_load_from_data

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
372
Reachable functions
372
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_bookmark.c 1
../../src/glib/fuzzing/fuzz.h 2
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 10
../../src/glib/glib/gprintf.c 5
/ 55
../../src/glib/glib/gtestutils.c 20
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gmem.c 7
../../src/glib/glib/gutf8.c 10
../../src/glib/glib/gthread-posix.c 18
../../src/glib/glib/gcharset.c 5
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 13
../../src/glib/glib/gslice.c 39
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 14
../../src/glib/glib/ghash.c 31
../../src/glib/glib/grefcount.c 2
../../src/glib/glib/gquark.c 4
../../src/glib/glib/ggettext.c 4
../../src/glib/glib/gslist.c 14
../../src/glib/glib/gerror.c 13
../../src/glib/glib/garray.c 8
../../src/glib/glib/gbookmarkfile.c 11
../../src/glib/glib/glist.c 3
../../src/glib/glib/gdatetime.c 1
../../src/glib/glib/gtimezone.c 1
../../src/glib/glib/gmarkup.c 40
../../src/glib/glib/guniprop.c 1

Fuzzer: fuzz_inet_address_new_from_string

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1544 0 EP call site g_inet_address_new_from_string

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
461
Reachable functions
461
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_inet_address_new_from_string.c 1
../../src/glib/fuzzing/fuzz.h 2
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 12
../../src/glib/glib/gprintf.c 5
/ 63
../../src/glib/glib/gtestutils.c 20
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gmem.c 7
../../src/glib/glib/gutf8.c 6
../../src/glib/glib/gthread-posix.c 25
../../src/glib/glib/gcharset.c 5
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 12
../../src/glib/glib/gslice.c 39
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 14
../../src/glib/glib/ghash.c 29
../../src/glib/glib/grefcount.c 2
../../src/glib/glib/gquark.c 8
../../src/glib/glib/ggettext.c 4
../../src/glib/glib/gslist.c 10
../../src/glib/glib/gerror.c 10
../../src/glib/glib/garray.c 6
../../src/glib/gio/ginetaddress.c 5
../../src/glib/gio/gnetworking.c 1
../../src/glib/gobject/gtype.c 50
../../src/glib/gobject/gtypeplugin.c 3
../../src/glib/gobject/gatomicarray.c 5
../../src/glib/gobject/gobject.c 20
../../src/glib/gobject/gparam.c 9
../../src/glib/gobject/gvalue.c 13
../../src/glib/glib/gdataset.c 11
../../src/glib/glib/gbitlock.c 4
../../src/glib/glib/gbsearcharray.h 3
../../src/glib/gobject/gvaluetypes.c 2
../../src/glib/gobject/gboxed.c 3
../../src/glib/gobject/gsignal.c 6
../../src/glib/gobject/gclosure.c 6

Fuzzer: fuzz_canonicalize_filename

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
854 0 EP call site g_canonicalize_filename

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
299
Reachable functions
299
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_canonicalize_filename.c 1
../../src/glib/fuzzing/fuzz.h 2
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 10
../../src/glib/glib/gprintf.c 5
/ 55
../../src/glib/glib/gtestutils.c 20
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gmem.c 7
../../src/glib/glib/gutf8.c 6
../../src/glib/glib/gthread-posix.c 18
../../src/glib/glib/gcharset.c 5
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 12
../../src/glib/glib/gslice.c 38
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 14
../../src/glib/glib/ghash.c 24
../../src/glib/glib/grefcount.c 2
../../src/glib/glib/gquark.c 4
../../src/glib/glib/ggettext.c 4
../../src/glib/glib/gslist.c 8
../../src/glib/glib/gerror.c 10
../../src/glib/glib/garray.c 6
../../src/glib/glib/gfileutils.c 7
//usr/include/x86_64-linux-gnu/sys/stat.h 1

Fuzzer: fuzz_resolver

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1435 0 EP call site test_for_rrtype

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
446
Reachable functions
446
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_resolver.c 2
../../src/glib/fuzzing/fuzz.h 2
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 11
../../src/glib/glib/gprintf.c 5
/ 61
../../src/glib/glib/gtestutils.c 21
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gmem.c 7
../../src/glib/glib/gutf8.c 6
../../src/glib/glib/gthread-posix.c 23
../../src/glib/glib/gcharset.c 5
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 11
../../src/glib/glib/gslice.c 39
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 14
../../src/glib/glib/ghash.c 30
../../src/glib/glib/grefcount.c 4
../../src/glib/glib/gquark.c 4
../../src/glib/glib/ggettext.c 4
../../src/glib/glib/gslist.c 8
../../src/glib/glib/gerror.c 12
../../src/glib/glib/garray.c 7
../../src/glib/gio/gthreadedresolver.c 7
../../src/glib/gio/gresolver.c 1
//usr/include/x86_64-linux-gnu/bits/byteswap.h 1
../../src/glib/glib/gvariant.c 47
../../src/glib/glib/gvarianttype.c 28
../../src/glib/glib/gvariant-core.c 11
../../src/glib/glib/gvarianttypeinfo.c 16
../../src/glib/glib/gbytes.c 7
../../src/glib/glib/gbitlock.c 4
../../src/glib/glib/gvariant-serialiser.c 4
../../src/glib/glib/glist.c 4

Fuzzer: fuzz_date_parse

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
981 0 EP call site g_date_set_parse

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
330
Reachable functions
330
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_date_parse.c 1
../../src/glib/glib/gdate.c 20
../../src/glib/glib/gmem.c 9
/ 54
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 10
../../src/glib/glib/gprintf.c 5
../../src/glib/glib/gtestutils.c 20
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gutf8.c 11
../../src/glib/glib/gthread-posix.c 18
../../src/glib/glib/gcharset.c 5
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 14
../../src/glib/glib/gslice.c 38
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 15
../../src/glib/glib/ghash.c 24
../../src/glib/glib/grefcount.c 2
../../src/glib/glib/gquark.c 4
../../src/glib/glib/ggettext.c 4
../../src/glib/glib/gslist.c 8
../../src/glib/glib/gerror.c 10
../../src/glib/glib/garray.c 6
../../src/glib/fuzzing/fuzz.h 2
../../src/glib/glib/guniprop.c 2
../../src/glib/glib/gunidecomp.c 7
//usr/include/stdlib.h 1

Fuzzer: fuzz_paths

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
834 0 EP call site g_test_log

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
292
Reachable functions
292
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_paths.c 1
../../src/glib/fuzzing/fuzz.h 2
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 10
../../src/glib/glib/gprintf.c 5
/ 53
../../src/glib/glib/gtestutils.c 20
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gmem.c 7
../../src/glib/glib/gutf8.c 6
../../src/glib/glib/gthread-posix.c 18
../../src/glib/glib/gcharset.c 5
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 11
../../src/glib/glib/gslice.c 38
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 14
../../src/glib/glib/ghash.c 24
../../src/glib/glib/grefcount.c 2
../../src/glib/glib/gquark.c 4
../../src/glib/glib/ggettext.c 4
../../src/glib/glib/gslist.c 8
../../src/glib/glib/gerror.c 10
../../src/glib/glib/garray.c 6
../../src/glib/glib/gfileutils.c 4

Fuzzer: fuzz_key

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1056 0 EP call site test_parse

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
347
Reachable functions
347
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_key.c 2
../../src/glib/fuzzing/fuzz.h 1
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 15
../../src/glib/glib/gprintf.c 5
/ 54
../../src/glib/glib/gtestutils.c 20
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gmem.c 7
../../src/glib/glib/gutf8.c 12
../../src/glib/glib/gthread-posix.c 18
../../src/glib/glib/gcharset.c 11
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 12
../../src/glib/glib/gslice.c 38
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 14
../../src/glib/glib/ghash.c 32
../../src/glib/glib/grefcount.c 2
../../src/glib/glib/gquark.c 4
../../src/glib/glib/ggettext.c 4
../../src/glib/glib/gslist.c 8
../../src/glib/glib/gerror.c 10
../../src/glib/glib/garray.c 7
../../src/glib/glib/gkeyfile.c 25
../../src/glib/glib/glist.c 5
../../src/glib/glib/guniprop.c 1

Fuzzer: fuzz_uri_escape

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
892 0 EP call site test_bytes

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
309
Reachable functions
309
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_uri_escape.c 3
../../src/glib/fuzzing/fuzz.h 2
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 11
../../src/glib/glib/gprintf.c 5
/ 53
../../src/glib/glib/gtestutils.c 20
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gmem.c 7
../../src/glib/glib/gutf8.c 8
../../src/glib/glib/gthread-posix.c 18
../../src/glib/glib/gcharset.c 5
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 12
../../src/glib/glib/gslice.c 38
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 14
../../src/glib/glib/ghash.c 24
../../src/glib/glib/grefcount.c 2
../../src/glib/glib/gquark.c 4
../../src/glib/glib/ggettext.c 4
../../src/glib/glib/gslist.c 8
../../src/glib/glib/gerror.c 11
../../src/glib/glib/garray.c 6
../../src/glib/glib/guri.c 9
../../src/glib/glib/gbytes.c 5

Fuzzer: fuzz_inet_socket_address_new_from_string

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1625 0 EP call site g_inet_socket_address_new_from_string

Functions hit (dynamic analysis based)

Covered functions
0
Functions that are reachable but not covered
487
Reachable functions
487
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/glib/fuzzing/fuzz_inet_socket_address_new_from_string.c 1
../../src/glib/fuzzing/fuzz.h 2
../../src/glib/glib/gmessages.c 20
../../src/glib/glib/gstrfuncs.c 12
../../src/glib/glib/gprintf.c 5
/ 64
../../src/glib/glib/gtestutils.c 20
../../src/glib/glib/gpattern.c 5
../../src/glib/glib/gmem.c 7
../../src/glib/glib/gutf8.c 6
../../src/glib/glib/gthread-posix.c 25
../../src/glib/glib/gcharset.c 5
../../src/glib/glib/gthread.c 3
../../src/glib/glib/gmem.h 1
../../src/glib/glib/libcharset/localcharset.c 3
../../src/glib/glib/genviron.c 1
../../src/glib/glib/gstring.c 12
../../src/glib/glib/gslice.c 39
../../src/glib/glib/gutils.c 1
../../src/glib/glib/glib-init.c 2
../../src/glib/glib/gmain.c 1
../../src/glib/glib/gutils.h 2
../../src/glib/glib/gutilsprivate.h 1
../../src/glib/glib/gstring.h 1
../../src/glib/glib/gconvert.c 14
../../src/glib/glib/ghash.c 29
../../src/glib/glib/grefcount.c 2
../../src/glib/glib/gquark.c 8
../../src/glib/glib/ggettext.c 4
../../src/glib/glib/gslist.c 10
../../src/glib/glib/gerror.c 10
../../src/glib/glib/garray.c 14
../../src/glib/gio/ginetsocketaddress.c 4
../../src/glib/gio/gsocketaddress.c 3
../../src/glib/gio/ginetaddress.c 5
../../src/glib/gobject/gtype.c 50
../../src/glib/gobject/gtypeplugin.c 3
../../src/glib/gobject/gatomicarray.c 5
../../src/glib/gio/gnetworking.c 1
../../src/glib/gobject/gobject.c 20
../../src/glib/gobject/gparam.c 9
../../src/glib/gobject/gvalue.c 13
../../src/glib/glib/gdataset.c 11
../../src/glib/glib/gbitlock.c 4
../../src/glib/glib/gbsearcharray.h 3
../../src/glib/gobject/gvaluetypes.c 2
../../src/glib/gobject/gboxed.c 3
../../src/glib/gio/gsocketconnectable.c 2
../../src/glib/gobject/gsignal.c 6
../../src/glib/gobject/gclosure.c 6
../../src/glib/gio/gunixsocketaddress.c 5
../../src/glib/gio/gnativesocketaddress.c 3

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 reaches a high amount of 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
g_application_class_intern_init /work/meson/../../src/glib/gio/gapplication.c 1 ['char *'] 30 0 28 6 3 2039 1 11929 7218
match /work/meson/../../src/glib/subprojects/pcre-8.37/pcre_exec.c 7 ['char *', 'char *', 'char *', 'int ', 'struct.match_data *', 'struct.eptrblock *', 'int '] 68 0 34280 6025 2124 8 14 4370 4366
g_local_file_file_iface_init /work/meson/../../src/glib/gio/glocalfile.c 1 ['struct._GFileIface *'] 39 0 84 1 2 2112 0 12023 2945
g_regex_match_all /work/meson/../../src/glib/glib/gregex.c 4 ['struct._GRegex *', 'char *', 'int ', 'struct._GMatchInfo **'] 30 0 12 3 2 340 0 3848 2421
g_desktop_app_info_iface_init /work/meson/../../src/glib/gio/gdesktopappinfo.c 1 ['struct._GAppInfoIface *'] 39 0 54 1 2 1834 0 10362 801
on_worker_message_received /work/meson/../../src/glib/gio/gdbusconnection.c 3 ['struct.GDBusWorker *', 'struct._GDBusMessage *', 'char *'] 30 0 161 32 13 1186 0 6485 610
g_app_info_launch_default_for_uri_async /work/meson/../../src/glib/gio/gappinfo.c 5 ['char *', 'struct._GAppLaunchContext *', 'struct._GCancellable *', 'func_type *', 'char *'] 29 0 114 19 8 1939 1 10917 579

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

Functions statically reachable by fuzzers
34.4%
3256/9464
Cyclomatic complexity statically reachable by fuzzers
43.0%
24177 / 56229

All functions overview

The status of all functions in the project will be as follows if you implement fuzzers for these functions

Func name Functions filename Args Function call depth 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