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

Fuzzer details

Fuzzer: fuzz_mdns_message

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 32.5%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 60 67.4%
All colors 89 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
23 23 1 :

['_q_answer']

23 23 _cache call site: 00084 /src/open62541/deps/mdnsd/libmdnsd/mdnsd.c:520
0 0 None 39 142 mdnsd_in call site: 00064 /src/open62541/deps/mdnsd/libmdnsd/mdnsd.c:758
0 0 None 39 142 mdnsd_in call site: 00066 /src/open62541/deps/mdnsd/libmdnsd/mdnsd.c:762
0 0 None 23 23 _c_expire call site: 00072 /src/open62541/deps/mdnsd/libmdnsd/mdnsd.c:420
0 0 None 8 8 _a_match call site: 00041 /src/open62541/deps/mdnsd/libmdnsd/mdnsd.c:196
0 0 None 2 2 _r_next call site: 00036 /src/open62541/deps/mdnsd/libmdnsd/mdnsd.c:164
0 0 None 2 2 _q_next call site: 00084 /src/open62541/deps/mdnsd/libmdnsd/mdnsd.c:134
0 0 None 0 0 message_parse call site: 00001 /src/open62541/deps/mdnsd/libmdnsd/1035.c:456
0 0 None 0 0 message_parse call site: 00012 /src/open62541/deps/mdnsd/libmdnsd/1035.c:518
0 0 None 0 0 _label call site: 00009 /src/open62541/deps/mdnsd/libmdnsd/1035.c:148
0 0 None 0 0 mdnsd_in call site: 00034 /src/open62541/deps/mdnsd/libmdnsd/mdnsd.c:681
0 0 None 0 0 mdnsd_in call site: 00061 /src/open62541/deps/mdnsd/libmdnsd/mdnsd.c:752

Runtime coverage analysis

Covered functions
17
Functions that are reachable but not covered
20
Reachable functions
37
Percentage of reachable functions covered
45.95%
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/open62541/deps/mdnsd/tests/fuzz/fuzz_mdns_message.cc 1
/src/open62541/deps/mdnsd/libmdnsd/1035.c 6
/src/open62541/deps/mdnsd/libmdnsd/mdnsd.c 20

Fuzzer: fuzz_src_ua_util

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 12 36.3%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 21 63.6%
All colors 33 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
4 6 UA_memoryManager_setLimitFromLast4Bytes call site: 00006 removeFromMap
3 2 UA_memoryManager_setLimitFromLast4Bytes call site: 00002 addToMap
3 14 UA_memoryManager_setLimitFromLast4Bytes call site: 00014 removeFromMap
2 11 UA_memoryManager_setLimitFromLast4Bytes call site: 00011 addToMap

Runtime coverage analysis

Covered functions
8
Functions that are reachable but not covered
13
Reachable functions
23
Percentage of reachable functions covered
43.48%
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/open62541/tests/fuzz/fuzz_src_ua_util.cc 3
/src/open62541/tests/fuzz/custom_memory_manager.c 7
/src/open62541/src/util/ua_util.c 4

Fuzzer: fuzz_base64_encode

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 0 0.0%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 3 100.%
All colors 3 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
0 0 None 0 4 UA_base64 call site: 00001 /src/open62541/deps/base64.c:28
0 0 None 0 0 UA_base64 call site: 00001 /src/open62541/deps/base64.c:18
0 0 None 0 0 UA_base64 call site: 00001 /src/open62541/deps/base64.c:24

Runtime coverage analysis

Covered functions
3
Functions that are reachable but not covered
0
Reachable functions
3
Percentage of reachable functions covered
100.0%
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/open62541/tests/fuzz/fuzz_base64_encode.cc 1
/src/open62541/deps/base64.c 2

Fuzzer: fuzz_json_decode

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 1 4.0%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 24 96.0%
All colors 25 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
0 11 2 :

['UA_copy', 'UA_Array_delete']

0 11 UA_Array_copy call site: 00000 /src/open62541/src/ua_types.c:1970
0 0 None 0 114 UA_decodeJson call site: 00002 /src/open62541/src/ua_types_encoding_json.c:2863
0 0 None 0 114 UA_decodeJson call site: 00002 /src/open62541/src/ua_types_encoding_json.c:2872
0 0 None 0 112 tokenize call site: 00004 /src/open62541/src/ua_types_encoding_json.c:2843
0 0 None 0 84 cj5_parse call site: 00004 /src/open62541/deps/cj5.c:354
0 0 None 0 47 DiagnosticInfoInner_decodeJson call site: 00000 /src/open62541/src/ua_types_encoding_json.c:2616
0 0 None 0 36 ExtensionObject_decodeJson call site: 00000 /src/open62541/src/ua_types_encoding_json.c:2515
0 0 None 0 36 Variant_decodeJson call site: 00000 /src/open62541/src/ua_types_encoding_json.c:2422
0 0 None 0 30 String_decodeJson call site: 00000 /src/open62541/src/ua_types_encoding_json.c:1725
0 0 None 0 18 clearStructure call site: 00000 /src/open62541/src/ua_types.c:1388
0 0 None 0 11 UA_Array_copy call site: 00000 /src/open62541/src/ua_types.c:1967
0 0 None 0 0 UA_unbase64 call site: 00000 /src/open62541/deps/base64.c:87

Runtime coverage analysis

Covered functions
106
Functions that are reachable but not covered
0
Reachable functions
15
Percentage of reachable functions covered
100.0%
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/open62541/tests/fuzz/fuzz_json_decode.cc 1
/work/open62541/src_generated/open62541/types_generated_handling.h 2
/src/open62541/src/ua_types_encoding_json.c 2
/src/open62541/deps/cj5.c 7
/src/open62541/src/ua_types.c 1

Fuzzer: fuzz_binary_decode

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 14 27.4%
gold [1:9] 1 1.96%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 36 70.5%
All colors 51 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
3 7 3 :

['exchangeBuffer', 'isGood', 'isTrue']

3 7 encodeWithExchangeBuffer call site: 00034 /src/open62541/src/ua_types_encoding_binary.c:104
0 24 2 :

['UA_calcSizeBinary', 'UA_ByteString_allocBuffer']

0 39 UA_encodeBinary call site: 00042 /src/open62541/src/ua_types_encoding_binary.c:1631
0 0 None 4 4 addToMap call site: 00003 /src/open62541/tests/fuzz/custom_memory_manager.c:49
0 0 None 0 125 ExtensionObject_encodeBinary call site: 00000 /src/open62541/src/ua_types_encoding_binary.c:841
0 0 None 0 106 Variant_encodeBinary call site: 00000 /src/open62541/src/ua_types_encoding_binary.c:990
0 0 None 0 57 copyStructure call site: 00000 /src/open62541/src/ua_types.c:1256
0 0 None 0 57 diagnosticInfoOrder call site: 00000 /src/open62541/src/ua_types.c:1807
0 0 None 0 28 extensionObjectOrder call site: 00000 /src/open62541/src/ua_types.c:1618
0 0 None 0 28 extensionObjectOrder call site: 00000 /src/open62541/src/ua_types.c:1620
0 0 None 0 19 ExtensionObject_copy call site: 00000 /src/open62541/src/ua_types.c:646
0 0 None 0 18 clearStructure call site: 00000 /src/open62541/src/ua_types.c:1388
0 0 None 0 16 structureOrder call site: 00000 /src/open62541/src/ua_types.c:1822

Runtime coverage analysis

Covered functions
125
Functions that are reachable but not covered
8
Reachable functions
32
Percentage of reachable functions covered
75.0%
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/open62541/tests/fuzz/fuzz_binary_decode.cc 1
/src/open62541/tests/fuzz/custom_memory_manager.c 7
/src/open62541/src/ua_types.c 6
/src/open62541/src/ua_types_encoding_binary.c 7
/src/open62541/src/util/ua_util_internal.h 1
/work/open62541/src_generated/open62541/types_generated_handling.h 3

Fuzzer: fuzz_mdns_xht

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 0 0.0%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 27 100.%
All colors 27 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
0 0 None 0 0 xht_free call site: 00026 /src/open62541/deps/mdnsd/libmdnsd/xht.c:147
0 0 1 :

['free']

0 0 _xht_set call site: 00009 /src/open62541/deps/mdnsd/libmdnsd/xht.c:91

Runtime coverage analysis

Covered functions
14
Functions that are reachable but not covered
4
Reachable functions
18
Percentage of reachable functions covered
77.78%
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/open62541/deps/mdnsd/tests/fuzz/fuzz_mdns_xht.cc 1
/src/open62541/deps/mdnsd/libmdnsd/sdtxt.c 5
/src/open62541/deps/mdnsd/libmdnsd/xht.c 8

Fuzzer: fuzz_base64_decode

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 0 0.0%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 2 100.%
All colors 2 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
0 0 None 0 0 UA_unbase64 call site: 00001 /src/open62541/deps/base64.c:87

Runtime coverage analysis

Covered functions
2
Functions that are reachable but not covered
0
Reachable functions
2
Percentage of reachable functions covered
100.0%
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/open62541/tests/fuzz/fuzz_base64_decode.cc 1
/src/open62541/deps/base64.c 1

Fuzzer: fuzz_json_decode_encode

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 12 23.0%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 40 76.9%
All colors 52 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
62 62 1 :

['addMultiArrayContentJSON']

62 141 Variant_encodeJson call site: 00000 /src/open62541/src/ua_types_encoding_json.c:1103
41 41 2 :

['UA_String_clear.5618', 'UA_ExpandedNodeId_print']

41 41 ExpandedNodeId_encodeJson call site: 00000 /src/open62541/src/ua_types_encoding_json.c:799
36 36 2 :

['UA_String_clear.5618', 'UA_NodeId_print']

36 36 NodeId_encodeJson call site: 00000 /src/open62541/src/ua_types_encoding_json.c:754
8 8 1 :

['arrayOrder']

8 8 variantOrder call site: 00000 /src/open62541/src/ua_types.c:1707
6 100 6 :

['writeJsonObjStart', 'writeJsonKey', 'UA_STRING.5635', 'String_encodeJson', 'UA_StatusCode_name', 'writeJsonObjEnd']

6 114 StatusCode_encodeJson call site: 00000 /src/open62541/src/ua_types_encoding_json.c:930
4 4 1 :

['UA_Variant_isScalar']

20 20 variantOrder call site: 00000 /src/open62541/src/ua_types.c:1685
2 5 2 :

['writeChars', 'strlen']

64 502 Variant_encodeJson call site: 00000 /src/open62541/src/ua_types_encoding_json.c:1082
2 2 1 :

['memcmp']

2 2 stringOrder call site: 00000 /src/open62541/src/ua_types.c:1551
0 63 1 :

['DateTime_encodeJson']

0 126 DataValue_encodeJson call site: 00000 /src/open62541/src/ua_types_encoding_json.c:1161
0 57 1 :

['diagnosticInfoOrder']

0 57 diagnosticInfoOrder call site: 00000 /src/open62541/src/ua_types.c:1805
0 39 1 :

['String_encodeJson']

0 116 QualifiedName_encodeJson call site: 00000 /src/open62541/src/ua_types_encoding_json.c:899
0 39 1 :

['String_encodeJson']

0 102 NodeId_encodeJson call site: 00000 /src/open62541/src/ua_types_encoding_json.c:765

Runtime coverage analysis

Covered functions
183
Functions that are reachable but not covered
3
Reachable functions
24
Percentage of reachable functions covered
87.5%
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/open62541/tests/fuzz/fuzz_json_decode_encode.cc 1
/work/open62541/src_generated/open62541/types_generated_handling.h 5
/src/open62541/src/ua_types_encoding_json.c 4
/src/open62541/deps/cj5.c 7
/src/open62541/src/ua_types.c 2

Fuzzer: fuzz_binary_message

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 2172 25.6%
gold [1:9] 7 0.08%
yellow [10:29] 0 0.0%
greenyellow [30:49] 6 0.07%
lawngreen 50+ 6271 74.1%
All colors 8456 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
1041 3123 7 :

['compatibleValue', 'UA_DataValue_init.3611', 'readValueAttribute', 'writeAttribute', 'UA_NodeId_equal.3613', 'setDefaultValue', 'UA_DataValue_clear.3612']

1041 3123 typeCheckVariableNode call site: 02760 /src/open62541/src/server/ua_services_nodemanagement.c:322
317 444 2 :

['isNodeInTree_singleRef', 'readWithReadValue']

317 444 compatibleValueDataType call site: 01841 /src/open62541/src/server/ua_services_attribute.c:820
311 317 7 :

['setBinaryProtocolManagerState', 'UA_SecureChannel_sendError', 'createServerSecureChannel', 'deleteServerSecureChannel', 'UA_StatusCode_name', 'UA_SecureChannel_shutdown', 'UA_SecureChannel_processBuffer']

311 317 serverNetworkCallback call site: 01120 /src/open62541/src/server/ua_server_binary.c:710
39 55 8 :

['UA_Guid_random', 'UA_ByteString_copy.2590', 'UA_BrowseResult_clear.2591', 'UA_BrowseDescription_copy', 'UA_NodePointer_init.2563', 'UA_NodePointer_clear', 'UA_Guid_new', 'ContinuationPoint_clear']

39 55 Operation_Browse call site: 02607 /src/open62541/src/server/ua_services_view.c:896
31 31 1 :

['readValueAttributeFromDataSource']

31 31 readValueAttributeComplete call site: 01482 /src/open62541/src/server/ua_services_attribute.c:278
30 30 3 :

['typeEquivalence', 'UA_Variant_isScalar.2975', 'UA_findDataTypeWithCustom']

30 30 adjustValueType call site: 01831 /src/open62541/src/server/ua_services_attribute.c:1163
25 25 2 :

['UA_LocalizedText_copy.2559', 'UA_Session_getNodeDisplayName']

25 50 addReferenceDescription call site: 02594 /src/open62541/src/server/ua_services_view.c:575
8 8 3 :

['strerror', 'UA_LOG_WARNING.7450', '__errno_location']

8 8 UA_EventLoopPOSIX_start call site: 00000 /src/open62541/plugins/eventloop/posix/eventloop_posix.c:171
8 8 2 :

['strerror', '__errno_location']

8 8 UA_EventLoopPOSIX_pollFDs call site: 00000 /src/open62541/plugins/eventloop/posix/eventloop_posix_epoll.c:90
7 7 1 :

['removeCallback']

7 7 Subscription_setState call site: 01397 /src/open62541/src/server/ua_subscription.c:783
6 6 1 :

['moveTreeToArray']

6 6 UA_NodeReferenceKind_switch call site: 00083 /src/open62541/src/server/ua_nodes.c:309
0 1803 4 :

['addNode', 'UA_Variant_setArray', 'UA_LOCALIZEDTEXT.3559', 'UA_QUALIFIEDNAME.3577']

0 4522 UA_Server_addMethodNodeEx_finish call site: 06622 /src/open62541/src/server/ua_services_nodemanagement.c:2656

Runtime coverage analysis

Covered functions
1566
Functions that are reachable but not covered
577
Reachable functions
2102
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.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/open62541/tests/fuzz/fuzz_binary_message.cc 1
/src/open62541/tests/fuzz/custom_memory_manager.c 7
/src/open62541/plugins/include/open62541/server_config_default.h 2
/src/open62541/plugins/ua_config_default.c 7
/src/open62541/plugins/ua_nodestore_hashmap.c 22
/src/open62541/src/server/ua_nodes.c 48
/src/open62541/include/open62541/plugin/nodestore.h 6
/work/open62541/src_generated/open62541/types_generated_handling.h 93
/src/open62541/src/ua_types.c 46
/src/open62541/src/server/ua_server_internal.h 17
/src/open62541/deps/ziptree.c 7
/src/open62541/plugins/eventloop/posix/eventloop_posix.c 17
/work/open62541/src_generated/open62541/config.h 5
/src/open62541/plugins/eventloop/eventloop_timer.c 16
/src/open62541/src/util/ua_clock.c 2
/src/open62541/include/open62541/types.h 16
/src/open62541/plugins/eventloop/posix/eventloop_posix_tcp.c 12
/src/open62541/include/open62541/plugin/log.h 6
/src/open62541/plugins/eventloop/eventloop_common.c 1
/src/open62541/src/util/ua_util.c 11
/src/open62541/deps/mp_printf.c 13
/src/open62541/deps/dtoa.c 10
/src/open62541/plugins/eventloop/posix/eventloop_posix_epoll.c 2
/src/open62541/plugins/eventloop/posix/eventloop_posix.h 3
/src/open62541/plugins/eventloop/posix/eventloop_posix_udp.c 25
/src/open62541/plugins/eventloop/posix/eventloop_posix_eth.c 16
/src/open62541/plugins/eventloop/posix/eventloop_posix_interrupt.c 9
/src/open62541/plugins/crypto/ua_pki_none.c 4
/src/open62541/src/server/ua_server_config.c 1
/src/open62541/plugins/crypto/ua_securitypolicy_none.c 16
/src/open62541/plugins/crypto/mbedtls/securitypolicy_mbedtls_common.c 2
/src/open62541/deps/pcg_basic.c 1
/src/open62541/plugins/ua_accesscontrol_default.c 16
/src/open62541/src/server/ua_server.c 21
/src/open62541/src/util/ua_util_internal.h 7
/src/open62541/src/server/ua_session.c 12
/src/open62541/src/server/ua_services_session.c 4
/work/open62541/src_generated/open62541/statuscodes.c 1
/src/open62541/src/server/ua_subscription.c 17
/src/open62541/src/server/ua_server_async.c 8
/src/open62541/src/server/ua_server_binary.c 27
/src/open62541/src/ua_securechannel_crypto.c 16
/src/open62541/src/ua_securechannel.c 29
/src/open62541/src/ua_types_encoding_binary.c 4
/work/open62541/src_generated/open62541/transport_generated_handling.h 4
/src/open62541/src/server/ua_services_securechannel.c 2
/src/open62541/src/server/ua_services.c 3
/src/open62541/src/server/ua_subscription_datachange.c 6
/src/open62541/src/server/ua_services_attribute.c 43
/src/open62541/src/server/ua_subscription_monitoreditem.c 16
/src/open62541/src/server/ua_services_nodemanagement.c 54
/src/open62541/src/server/ua_server_utils.c 7
/src/open62541/src/server/ua_services_view.c 35
/src/open62541/src/server/ua_services_subscription.c 1
/src/open62541/src/server/ua_services_method.c 9
/src/open62541/src/server/ua_discovery.c 6
/src/open62541/src/server/ua_discovery_mdns.c 27
/src/open62541/deps/mdnsd/libmdnsd/mdnsd.c 40
/src/open62541/deps/mdnsd/libmdnsd/1035.c 20
/src/open62541/deps/mdnsd/libmdnsd/sdtxt.c 5
/src/open62541/deps/mdnsd/libmdnsd/xht.c 9
/src/open62541/src/client/ua_client_connect.c 3
/src/open62541/src/client/ua_client.c 1
/src/open62541/src/server/ua_server_ns0.c 11
/work/open62541/src_generated/open62541/namespace0_generated.c 1117

Fuzzer: fuzz_tcp_message

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 1919 22.4%
gold [1:9] 19 0.22%
yellow [10:29] 11 0.12%
greenyellow [30:49] 1 0.01%
lawngreen 50+ 6591 77.1%
All colors 8541 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
1041 3123 7 :

['compatibleValue', 'UA_DataValue_init.3611', 'readValueAttribute', 'writeAttribute', 'UA_NodeId_equal.3613', 'setDefaultValue', 'UA_DataValue_clear.3612']

1041 3123 typeCheckVariableNode call site: 02759 /src/open62541/src/server/ua_services_nodemanagement.c:322
338 338 1 :

['TCP_openActiveConnection']

338 338 TCP_openConnection call site: 00299 /src/open62541/plugins/eventloop/posix/eventloop_posix_tcp.c:934
317 444 2 :

['isNodeInTree_singleRef', 'readWithReadValue']

317 444 compatibleValueDataType call site: 01841 /src/open62541/src/server/ua_services_attribute.c:820
239 277 6 :

['freeaddrinfo', 'UA_QUALIFIEDNAME.6346', 'mdnsd_in', 'UA_KeyValueMap_getScalar', 'message_parse', 'getaddrinfo']

239 277 MulticastDiscoveryCallback call site: 02222 /src/open62541/src/server/ua_discovery_mdns.c:737
65 65 1 :

['RefTree_double']

65 124 RefTree_add call site: 01603 /src/open62541/src/server/ua_services_view.c:267
39 55 8 :

['UA_Guid_random', 'UA_ByteString_copy.2590', 'UA_BrowseResult_clear.2591', 'UA_BrowseDescription_copy', 'UA_NodePointer_init.2563', 'UA_NodePointer_clear', 'UA_Guid_new', 'ContinuationPoint_clear']

39 55 Operation_Browse call site: 02606 /src/open62541/src/server/ua_services_view.c:896
31 31 1 :

['readValueAttributeFromDataSource']

31 31 readValueAttributeComplete call site: 01482 /src/open62541/src/server/ua_services_attribute.c:278
31 31 2 :

['Array_encodeBinaryComplex', 'Array_encodeBinaryOverlayable']

31 31 Array_encodeBinary call site: 00000 /src/open62541/src/ua_types_encoding_binary.c:455
25 25 2 :

['UA_LocalizedText_copy.2559', 'UA_Session_getNodeDisplayName']

29 50 addReferenceDescription call site: 02593 /src/open62541/src/server/ua_services_view.c:575
25 25 1 :

['UA_ExpandedNodeId_order']

25 25 cmpTarget call site: 01604 /src/open62541/src/server/ua_services_view.c:193
20 20 1 :

['mdns_set_address_record_if']

20 20 mdns_set_address_record call site: 02169 /src/open62541/src/server/ua_discovery_mdns.c:630
19 19 3 :

['getSockError', 'UA_LOG_INFO.7588', 'UA_EventLoopPOSIX_modifyFD']

19 89 TCP_connectionSocketCallback call site: 00000 /src/open62541/plugins/eventloop/posix/eventloop_posix_tcp.c:155

Runtime coverage analysis

Covered functions
1715
Functions that are reachable but not covered
465
Reachable functions
2124
Percentage of reachable functions covered
78.11%
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/open62541/tests/fuzz/fuzz_tcp_message.cc 2
/src/open62541/tests/fuzz/custom_memory_manager.c 8
/src/open62541/plugins/include/open62541/server_config_default.h 1
/src/open62541/plugins/ua_config_default.c 7
/src/open62541/plugins/ua_nodestore_hashmap.c 22
/src/open62541/src/server/ua_nodes.c 48
/src/open62541/include/open62541/plugin/nodestore.h 6
/work/open62541/src_generated/open62541/types_generated_handling.h 94
/src/open62541/src/ua_types.c 49
/src/open62541/src/server/ua_server_internal.h 17
/src/open62541/deps/ziptree.c 7
/src/open62541/plugins/eventloop/posix/eventloop_posix.c 17
/work/open62541/src_generated/open62541/config.h 5
/src/open62541/plugins/eventloop/eventloop_timer.c 16
/src/open62541/src/util/ua_clock.c 2
/src/open62541/include/open62541/types.h 16
/src/open62541/plugins/eventloop/posix/eventloop_posix_tcp.c 12
/src/open62541/include/open62541/plugin/log.h 6
/src/open62541/plugins/eventloop/eventloop_common.c 1
/src/open62541/src/util/ua_util.c 11
/src/open62541/deps/mp_printf.c 13
/src/open62541/deps/dtoa.c 10
/src/open62541/plugins/eventloop/posix/eventloop_posix_epoll.c 2
/src/open62541/plugins/eventloop/posix/eventloop_posix.h 3
/src/open62541/plugins/eventloop/posix/eventloop_posix_udp.c 25
/src/open62541/plugins/eventloop/posix/eventloop_posix_eth.c 16
/src/open62541/plugins/eventloop/posix/eventloop_posix_interrupt.c 9
/src/open62541/plugins/crypto/ua_pki_none.c 4
/src/open62541/src/server/ua_server_config.c 1
/src/open62541/plugins/crypto/ua_securitypolicy_none.c 16
/src/open62541/plugins/crypto/mbedtls/securitypolicy_mbedtls_common.c 2
/src/open62541/deps/pcg_basic.c 1
/src/open62541/plugins/ua_accesscontrol_default.c 16
/src/open62541/src/server/ua_server.c 25
/src/open62541/src/util/ua_util_internal.h 7
/src/open62541/src/server/ua_session.c 12
/src/open62541/src/server/ua_services_session.c 4
/work/open62541/src_generated/open62541/statuscodes.c 1
/src/open62541/src/server/ua_subscription.c 17
/src/open62541/src/server/ua_server_async.c 13
/src/open62541/src/server/ua_server_binary.c 27
/src/open62541/src/ua_securechannel_crypto.c 16
/src/open62541/src/ua_securechannel.c 29
/src/open62541/src/ua_types_encoding_binary.c 4
/work/open62541/src_generated/open62541/transport_generated_handling.h 4
/src/open62541/src/server/ua_services_securechannel.c 2
/src/open62541/src/server/ua_services.c 3
/src/open62541/src/server/ua_subscription_datachange.c 6
/src/open62541/src/server/ua_services_attribute.c 43
/src/open62541/src/server/ua_subscription_monitoreditem.c 16
/src/open62541/src/server/ua_services_nodemanagement.c 54
/src/open62541/src/server/ua_server_utils.c 7
/src/open62541/src/server/ua_services_view.c 35
/src/open62541/src/server/ua_services_subscription.c 1
/src/open62541/src/server/ua_services_method.c 9
/src/open62541/src/server/ua_discovery.c 6
/src/open62541/src/server/ua_discovery_mdns.c 27
/src/open62541/deps/mdnsd/libmdnsd/mdnsd.c 40
/src/open62541/deps/mdnsd/libmdnsd/1035.c 20
/src/open62541/deps/mdnsd/libmdnsd/sdtxt.c 5
/src/open62541/deps/mdnsd/libmdnsd/xht.c 9
/src/open62541/src/client/ua_client_connect.c 3
/src/open62541/src/client/ua_client.c 1
/src/open62541/src/server/ua_server_ns0.c 11
/work/open62541/src_generated/open62541/namespace0_generated.c 1117
/src/open62541/deps/itoa.c 3
/src/open62541/deps/base64.c 1

Analyses and suggestions

Optimal target analysis

Remaining optimal interesting functions

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

Func name Functions filename Arg count Args Function depth hitcount instr count bb count cyclomatic complexity Reachable functions Incoming references total cyclomatic complexity Unreached complexity
UA_ServerConfig_setDefaultWithSecureSecurityPolicies /src/open62541/plugins/ua_config_default.c 10 ['struct.UA_ServerConfig.5022 *', 'short', 'struct.UA_String *', 'struct.UA_String *', 'struct.UA_String *', 'size_t', 'struct.UA_String *', 'size_t', 'struct.UA_String *', 'size_t'] 15 0 156 17 8 513 0 2231 678
UA_Server_deregisterDiscovery /src/open62541/src/server/ua_discovery.c 4 ['struct.UA_Server *', 'struct.UA_ClientConfig *', 'size_t', 'char *'] 30 0 52 3 2 248 0 1182 620
UA_HistoryDataGathering_Circular /src/open62541/plugins/historydata/ua_history_data_gathering_default.c 2 ['struct.UA_HistoryDataGathering *', 'size_t'] 20 0 19 3 2 208 0 1073 251
DataValue_encodeJson /src/open62541/src/ua_types_encoding_json.c 3 ['struct.CtxJson *', 'struct.UA_DataValue *', 'struct.UA_DataType *'] 9 0 232 21 8 50 0 271 195
UA_HistoryDataBackend_Memory_Circular /src/open62541/plugins/historydata/ua_history_data_backend_memory.c 3 ['struct.UA_HistoryDataBackend *', 'size_t', 'size_t'] 9 0 25 3 2 53 0 292 190
lteOperator /src/open62541/src/server/ua_subscription_events_filter.c 2 ['struct.UA_FilterEvalContext *', 'size_t'] 17 0 20 3 2 149 0 890 189
ExpandedNodeId_decodeJson /src/open62541/src/ua_types_encoding_json.c 3 ['struct.ParseCtx *', 'struct.UA_ExpandedNodeId *', 'struct.UA_DataType *'] 6 0 183 14 5 34 0 211 147

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

Functions statically reachable by fuzzers
74.0%
2444 / 3290
Cyclomatic complexity statically reachable by fuzzers
70.0%
9708 / 13844

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 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/open62541/deps/mdnsd/tests/fuzz/fuzz_mdns_message.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=['_a_match', '_r_next', '_cache', '_q_next', 'mdnsd_in']

/src/open62541/tests/fuzz/fuzz_src_ua_util.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=['UA_memoryManager_setLimitFromLast4Bytes']

/src/open62541/tests/fuzz/fuzz_base64_encode.cc

Dictionary

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


/src/open62541/tests/fuzz/fuzz_json_decode.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']

/src/open62541/tests/fuzz/fuzz_binary_decode.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=['UA_memoryManager_setLimitFromLast4Bytes', 'UA_encodeBinaryInternal', 'LLVMFuzzerTestOneInput', 'UA_encodeBinary', 'removeFromMap', 'UA_ByteString_allocBuffer']

/src/open62541/deps/mdnsd/tests/fuzz/fuzz_mdns_xht.cc

Dictionary

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


/src/open62541/tests/fuzz/fuzz_base64_decode.cc

Dictionary

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


/src/open62541/tests/fuzz/fuzz_json_decode_encode.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', 'UA_ByteString_allocBuffer']

/src/open62541/tests/fuzz/fuzz_binary_message.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=['UA_DiscoveryManager_new', 'UA_Session_detachFromSecureChannel', 'UA_ConnectionManager_new_POSIX_UDP', 'readValueAttributeComplete', 'UA_Subscription_delete', 'UA_ConnectionManager_new_POSIX_Ethernet', 'format_string_loop', 'UA_Variant_setScalar', 'compatibleValueRankValue', 'UA_BinaryProtocolManager_new']

/src/open62541/tests/fuzz/fuzz_tcp_message.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=['processHEL', 'readValueAttributeComplete', 'UA_Subscription_delete', 'UA_DiscoveryManager_start', 'MulticastDiscoveryCallback', 'UA_BinaryProtocolManager_stop', 'UA_readNumberWithBase', 'UA_ConnectionManager_new_POSIX_Ethernet', 'ReadWithNode', 'writeValueAttributeWithoutRange']

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
mdnsd_in 66 23 34.84% ['fuzz_mdns_message', 'fuzz_binary_message', 'fuzz_tcp_message']
clearStructure 35 19 54.28% []
structureOrder 51 28 54.90% []
UA_encodeJson 37 19 51.35% ['fuzz_json_decode_encode']
NodeId_encodeJson 33 14 42.42% []
ExpandedNodeId_encodeJson 48 21 43.75% []
format_string_loop 208 97 46.63% ['fuzz_binary_message', 'fuzz_tcp_message']
print_integer_finalization 51 18 35.29% ['fuzz_binary_message', 'fuzz_tcp_message']
UA_KeyValueRestriction_validate 35 15 42.85% ['fuzz_binary_message', 'fuzz_tcp_message']
UA_DiscoveryManager_free 36 17 47.22% ['fuzz_binary_message', 'fuzz_tcp_message']
UA_NodePointer_copy 42 11 26.19% ['fuzz_binary_message', 'fuzz_tcp_message']
UA_Node_copy 117 64 54.70% ['fuzz_binary_message', 'fuzz_tcp_message']
UA_Node_insertOrUpdateLocale 37 18 48.64% ['fuzz_binary_message', 'fuzz_tcp_message']
getAllInterfaceChildNodeIds 91 41 45.05% ['fuzz_binary_message', 'fuzz_tcp_message']
ReadWithNode 217 42 19.35% ['fuzz_binary_message', 'fuzz_tcp_message']
compatibleValue 37 11 29.72% ['fuzz_binary_message', 'fuzz_tcp_message']
readValueAttributeComplete 53 19 35.84% ['fuzz_binary_message', 'fuzz_tcp_message']
unwrapEOArray 31 4 12.90% ['fuzz_binary_message', 'fuzz_tcp_message']
copyAttributeIntoNode 163 50 30.67% ['fuzz_binary_message', 'fuzz_tcp_message']
writeNodeValueAttribute 97 39 40.20% ['fuzz_binary_message', 'fuzz_tcp_message']
addNode_addRefs 156 85 54.48% ['fuzz_binary_message', 'fuzz_tcp_message']
useVariableTypeAttributes 48 21 43.75% ['fuzz_binary_message', 'fuzz_tcp_message']
typeCheckVariableNode 82 9 10.97% ['fuzz_binary_message', 'fuzz_tcp_message']
recursiveCallConstructors 95 41 43.15% ['fuzz_binary_message', 'fuzz_tcp_message']
Operation_deleteReference 31 10 32.25% ['fuzz_binary_message', 'fuzz_tcp_message']
UA_Server_addMethodNodeEx_finish 89 43 48.31% ['fuzz_binary_message', 'fuzz_tcp_message']
Operation_Browse 94 43 45.74% ['fuzz_binary_message', 'fuzz_tcp_message']
browseWithNode 66 27 40.90% ['fuzz_binary_message', 'fuzz_tcp_message']
UA_Subscription_delete 43 22 51.16% ['fuzz_binary_message', 'fuzz_tcp_message']
TCP_registerListenSocket 137 64 46.71% ['fuzz_binary_message', 'fuzz_tcp_message']
UDP_registerListenSocket 93 48 51.61% ['fuzz_binary_message', 'fuzz_tcp_message']
setupMulticastRequest 46 17 36.95% ['fuzz_binary_message', 'fuzz_tcp_message']
mdns_create_txt 60 24 40.0% ['fuzz_binary_message', 'fuzz_tcp_message']
MulticastDiscoveryCallback 44 12 27.27% ['fuzz_binary_message', 'fuzz_tcp_message']
checkTimeouts 31 14 45.16% ['fuzz_tcp_message']
deleteServerSecureChannel 34 13 38.23% ['fuzz_binary_message', 'fuzz_tcp_message']
processSecureChannelMessage 57 12 21.05% ['fuzz_binary_message', 'fuzz_tcp_message']
assembleProcessMessage 46 11 23.91% ['fuzz_binary_message', 'fuzz_tcp_message']
UA_Array_resize 37 17 45.94% ['fuzz_binary_message', 'fuzz_tcp_message']

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/open62541/src/server/ua_subscription_datachange.c ['fuzz_binary_message', 'fuzz_tcp_message'] []
/src/open62541/include/open62541/client_subscriptions.h [] []
/src/open62541/plugins/ua_config_json.c [] []
/src/open62541/deps/mp_printf.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/deps/parse_num.c [] []
/work/open62541/src_generated/open62541/types_generated_handling.h ['fuzz_json_decode', 'fuzz_binary_decode', 'fuzz_json_decode_encode', 'fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_json_decode', 'fuzz_binary_decode', 'fuzz_json_decode_encode', 'fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/util/ua_util_internal.h ['fuzz_binary_decode', 'fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_decode', 'fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/util/ua_types_lex.c [] []
/src/open62541/include/open62541/server.h [] []
/work/open62541/src_generated/open62541/config.h ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/server/ua_server_ns0.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/include/open62541/plugin/nodestore.h ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/plugins/eventloop/eventloop_common.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/server/ua_services_view.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/deps/mdnsd/libmdnsd/sdtxt.c ['fuzz_mdns_xht', 'fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_mdns_xht', 'fuzz_tcp_message']
/src/open62541/plugins/crypto/ua_pki_none.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/tests/fuzz/fuzz_base64_decode.cc ['fuzz_base64_decode'] ['fuzz_base64_decode']
/src/open62541/src/client/ua_client_connect.c ['fuzz_binary_message', 'fuzz_tcp_message'] []
/src/open62541/plugins/include/open62541/server_config_default.h ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/plugins/eventloop/posix/eventloop_posix_tcp.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/plugins/eventloop/posix/eventloop_posix_epoll.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/server/ua_server.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/util/ua_clock.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/server/ua_services_session.c ['fuzz_binary_message', 'fuzz_tcp_message'] []
/src/open62541/src/ua_types_encoding_json.h [] []
/src/open62541/plugins/historydata/ua_history_data_gathering_default.c [] []
/src/open62541/plugins/crypto/ua_securitypolicy_none.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/ua_types.c ['fuzz_json_decode', 'fuzz_binary_decode', 'fuzz_json_decode_encode', 'fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_json_decode', 'fuzz_binary_decode', 'fuzz_json_decode_encode', 'fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/server/ua_subscription_events.c [] []
/src/open62541/src/server/ua_services_method.c ['fuzz_binary_message', 'fuzz_tcp_message'] []
/src/open62541/src/server/ua_subscription_monitoreditem.c ['fuzz_binary_message', 'fuzz_tcp_message'] []
/src/open62541/src/server/ua_server_async.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/server/ua_services_attribute.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/plugins/crypto/mbedtls/ua_securitypolicy_basic128rsa15.c [] []
/src/open62541/plugins/crypto/mbedtls/ua_securitypolicy_basic256sha256.c [] []
/src/open62541/plugins/ua_nodestore_hashmap.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/plugins/ua_config_default.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/deps/libc_time.c [] []
/src/open62541/src/server/ua_discovery.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/plugins/eventloop/eventloop_timer.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/plugins/crypto/mbedtls/ua_securitypolicy_aes256sha256rsapss.c [] []
/src/open62541/deps/ziptree.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/deps/dtoa.c ['fuzz_binary_message', 'fuzz_tcp_message'] []
/src/open62541/include/open62541/types.h ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/tests/testing-plugins/testing_networklayers.c [] []
/src/open62541/src/server/ua_services_monitoreditem.c [] []
/src/open62541/deps/mdnsd/tests/fuzz/fuzz_mdns_xht.cc ['fuzz_mdns_xht'] ['fuzz_mdns_xht']
/src/open62541/src/client/ua_client_highlevel.c [] []
/src/open62541/src/server/ua_discovery_mdns.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_tcp_message']
/src/open62541/plugins/crypto/mbedtls/securitypolicy_mbedtls_common.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/plugins/historydata/ua_history_database_default.c [] []
/src/open62541/src/ua_types_encoding_json.c ['fuzz_json_decode', 'fuzz_json_decode_encode'] ['fuzz_json_decode', 'fuzz_json_decode_encode']
/src/open62541/src/server/ua_nodes.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/deps/pcg_basic.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/client/ua_client_discovery.c [] []
/src/open62541/src/server/ua_services_nodemanagement.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/server/ua_services_securechannel.c ['fuzz_binary_message', 'fuzz_tcp_message'] []
/src/open62541/plugins/eventloop/posix/eventloop_posix.h ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/plugins/eventloop/posix/eventloop_posix_udp.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/server/ua_server_ns0_diagnostics.c [] []
/src/open62541/plugins/ua_nodestore_ziptree.c [] []
/src/open62541/src/util/ua_util.c ['fuzz_src_ua_util', 'fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_src_ua_util', 'fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/deps/cj5.c ['fuzz_json_decode', 'fuzz_json_decode_encode'] ['fuzz_json_decode', 'fuzz_json_decode_encode']
/src/open62541/deps/base64.c ['fuzz_base64_encode', 'fuzz_base64_decode', 'fuzz_tcp_message'] ['fuzz_base64_encode', 'fuzz_base64_decode']
/src/open62541/tests/fuzz/fuzz_tcp_message.cc ['fuzz_tcp_message'] ['fuzz_tcp_message']
/src/open62541/plugins/ua_log_stdout.c [] []
/src/open62541/src/server/ua_server_internal.h ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/server/ua_server_utils.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/plugins/crypto/mbedtls/ua_pki_mbedtls.c [] []
/src/open62541/src/ua_securechannel.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_tcp_message']
/src/open62541/plugins/crypto/mbedtls/ua_mbedtls_create_certificate.c [] []
/src/open62541/tests/fuzz/custom_memory_manager.c ['fuzz_src_ua_util', 'fuzz_binary_decode', 'fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_src_ua_util', 'fuzz_binary_decode', 'fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/plugins/ua_log_syslog.c [] []
/src/open62541/tests/fuzz/fuzz_src_ua_util.cc ['fuzz_src_ua_util'] ['fuzz_src_ua_util']
/src/open62541/plugins/ua_accesscontrol_default.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/server/ua_services_subscription.c ['fuzz_binary_message', 'fuzz_tcp_message'] []
/src/open62541/src/ua_securechannel_crypto.c ['fuzz_binary_message', 'fuzz_tcp_message'] []
/src/open62541/deps/mdnsd/libmdnsd/1035.c ['fuzz_mdns_message', 'fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_mdns_message']
/src/open62541/plugins/eventloop/posix/eventloop_posix.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/server/ua_subscription_events_filter.c [] []
/src/open62541/include/open62541/client.h [] []
/work/open62541/src_generated/open62541/namespace0_generated.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/ua_types_encoding_binary.c ['fuzz_binary_decode', 'fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_decode', 'fuzz_tcp_message']
/src/open62541/plugins/eventloop/posix/eventloop_posix_interrupt.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/plugins/historydata/ua_history_data_backend_memory.c [] []
/src/open62541/src/server/ua_services.c ['fuzz_binary_message', 'fuzz_tcp_message'] []
/src/open62541/src/server/ua_server_binary.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/tests/fuzz/fuzz_binary_decode.cc ['fuzz_binary_decode'] ['fuzz_binary_decode']
/src/open62541/deps/mdnsd/libmdnsd/xht.c ['fuzz_mdns_xht', 'fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_mdns_xht', 'fuzz_tcp_message']
/src/open62541/tests/fuzz/fuzz_json_decode.cc ['fuzz_json_decode'] ['fuzz_json_decode']
/src/open62541/src/server/ua_server_config.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/include/open62541/plugin/log.h ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/usr/include/mbedtls/pk.h [] []
/src/open62541/tests/fuzz/fuzz_base64_encode.cc ['fuzz_base64_encode'] ['fuzz_base64_encode']
/src/open62541/plugins/crypto/mbedtls/ua_securitypolicy_basic256.c [] []
/src/open62541/tests/fuzz/fuzz_json_decode_encode.cc ['fuzz_json_decode_encode'] ['fuzz_json_decode_encode']
/src/open62541/src/server/ua_session.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/plugins/crypto/mbedtls/ua_securitypolicy_aes128sha256rsaoaep.c [] []
/src/open62541/src/server/ua_services_discovery.c [] []
/src/open62541/deps/mdnsd/tests/fuzz/fuzz_mdns_message.cc ['fuzz_mdns_message'] ['fuzz_mdns_message']
/src/open62541/src/client/ua_client_subscriptions.c [] []
/src/open62541/src/server/ua_subscription.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/work/open62541/src_generated/open62541/transport_generated_handling.h ['fuzz_binary_message', 'fuzz_tcp_message'] []
/src/open62541/deps/itoa.c ['fuzz_tcp_message'] []
/work/open62541/src_generated/open62541/statuscodes.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/deps/mdnsd/libmdnsd/mdnsd.c ['fuzz_mdns_message', 'fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_mdns_message', 'fuzz_tcp_message']
/src/open62541/plugins/eventloop/posix/eventloop_posix_eth.c ['fuzz_binary_message', 'fuzz_tcp_message'] ['fuzz_binary_message', 'fuzz_tcp_message']
/src/open62541/src/client/ua_client.c ['fuzz_binary_message', 'fuzz_tcp_message'] []
/src/open62541/tests/fuzz/fuzz_binary_message.cc ['fuzz_binary_message'] ['fuzz_binary_message']

Directories in report

Directory
/src/open62541/plugins/crypto/
/src/open62541/include/open62541/
/src/open62541/plugins/eventloop/
/src/open62541/tests/fuzz/
/src/open62541/tests/testing-plugins/
/usr/include/mbedtls/
/src/open62541/src/client/
/src/open62541/src/server/
/src/open62541/plugins/include/open62541/
/src/open62541/include/open62541/plugin/
/src/open62541/deps/mdnsd/libmdnsd/
/src/open62541/src/
/src/open62541/plugins/eventloop/posix/
/src/open62541/deps/
/src/open62541/src/util/
/src/open62541/deps/mdnsd/tests/fuzz/
/src/open62541/plugins/
/work/open62541/src_generated/open62541/
/src/open62541/plugins/crypto/mbedtls/
/src/open62541/plugins/historydata/