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

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
fuzz_client open62541/tests/fuzz/fuzz_client.cc 267 6306 24 44 427 419 fuzz_client.cc
fuzz_certificate_parse open62541/tests/fuzz/fuzz_certificate_parse.cc 1 6446 6 5 1 0 fuzz_certificate_parse.cc
fuzz_json_decode_encode open62541/tests/fuzz/fuzz_json_decode_encode.cc 28 6430 3 4 107 142 fuzz_json_decode_encode.cc
fuzz_binary_decode open62541/tests/fuzz/fuzz_binary_decode.cc 40 6420 5 4 93 86 fuzz_binary_decode.cc
fuzz_mdns_message open62541/tests/fuzz/fuzz_mdns_message.cc 51 6413 7 4 172 232 fuzz_mdns_message.cc
fuzz_base64_decode open62541/tests/fuzz/fuzz_base64_decode.cc 5 6445 2 2 15 21 fuzz_base64_decode.cc
fuzz_xml_decode_encode open62541/tests/fuzz/fuzz_xml_decode_encode.cc 68 6392 7 4 340 332 fuzz_xml_decode_encode.cc
fuzz_pubsub_connection_config open62541/tests/fuzz/fuzz_pubsub_connection_config.cc 24 6433 5 6 36 25 fuzz_pubsub_connection_config.cc
fuzz_eventfilter_parse open62541/tests/fuzz/fuzz_eventfilter_parse.cc 286 6250 20 23 6666 3098 fuzz_eventfilter_parse.cc
fuzz_pubsub_json open62541/tests/fuzz/fuzz_pubsub_json.cc 36 6424 5 7 130 176 fuzz_pubsub_json.cc
fuzz_server_services open62541/tests/fuzz/fuzz_server_services.cc 866 5881 37 82 2207 2463 fuzz_server_services.cc
fuzz_pubsub_binary open62541/tests/fuzz/fuzz_pubsub_binary.cc 45 6415 9 6 171 167 fuzz_pubsub_binary.cc
fuzz_mdns_xht open62541/tests/fuzz/fuzz_mdns_xht.cc 19 6437 5 3 34 45 fuzz_mdns_xht.cc
fuzz_json_decode open62541/tests/fuzz/fuzz_json_decode.cc 18 6434 3 4 88 125 fuzz_json_decode.cc
fuzz_parse_string open62541/tests/fuzz/fuzz_parse_string.cc 240 6277 16 21 928 1000 fuzz_parse_string.cc
fuzz_config_json open62541/tests/fuzz/fuzz_config_json.cc 665 6002 38 77 1745 1869 fuzz_config_json.cc
fuzz_src_ua_util open62541/tests/fuzz/fuzz_src_ua_util.cc 12 6439 5 4 49 64 fuzz_src_ua_util.cc
fuzz_attributeoperand open62541/tests/fuzz/fuzz_attributeoperand.cc 222 6289 18 20 756 834 fuzz_attributeoperand.cc
fuzz_tcp_message open62541/tests/fuzz/fuzz_tcp_message.cc 631 6023 37 76 1581 1681 fuzz_tcp_message.cc
fuzz_base64_encode open62541/tests/fuzz/fuzz_base64_encode.cc 5 6444 2 2 9 7 fuzz_base64_encode.cc
fuzz_binary_message open62541/tests/fuzz/fuzz_binary_message.cc 750 5932 37 80 1991 2151 fuzz_binary_message.cc

Project functions overview

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

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

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

Fuzzer details

Fuzzer: fuzz_client

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 1389 89.3%
gold [1:9] 0 0.0%
yellow [10:29] 135 8.68%
greenyellow [30:49] 10 0.64%
lawngreen 50+ 20 1.28%
All colors 1554 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
252 645 UA_SecureChannel_clear call site: 00645 FileCertStore_setTrustList
208 208 UA_init call site: 00208 connectSync
135 417 notifyClientState call site: 00417 stateCallback
125 902 UA_copy call site: 00902 TCP_openConnection
106 1031 UA_String_fromChars call site: 01031 TCP_openActiveConnection
87 1412 processServiceResponse call site: 01412 UA_Sym_EccBrainpoolP384r1_generateKey
76 41 UA_EventLoopPOSIX_registerEventSource call site: 00041 UA_EventLoopPOSIX_start
68 1140 processDelayed call site: 01140 sendRequest
56 553 UA_EventLoopPOSIX_unlock call site: 00553 setConnectStatus
47 1501 processServiceResponse call site: 01501 processMSGResponse
42 1368 LLVMFuzzerTestOneInput call site: 01368 processACKResponse
27 159 UA_mbedTLS_LoadLocalCertificate call site: 00159 UA_Client_newWithConfig

Runtime coverage analysis

Covered functions
96
Functions that are reachable but not covered
204
Reachable functions
267
Percentage of reachable functions covered
23.6%
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
open62541/tests/fuzz/fuzz_client.cc 13
open62541_15/plugins/ua_config_default.c 21
open62541_15/plugins/ua_log_stdout.c 2
open62541_15/arch/zephyr/eventloop_zephyr.c 3
open62541_15/arch/common/timer.c 19
open62541_15/arch/lwip/eventloop_lwip.c 4
open62541_15/arch/posix/eventloop_posix.c 73
open62541_15/arch/zephyr/eventloop_zephyr_tcp.c 3
open62541_15ua_types.c 35
open62541_15/arch/lwip/eventloop_lwip_tcp.c 3
open62541_15/arch/posix/eventloop_posix_tcp.c 56
open62541_15/include/open62541/plugin/log.h 3
open62541_15/tests/interop/check_interop_client.c 4
open62541_15util/ua_util.c 14
open62541_15/arch/lwip/eventloop_lwip_udp.c 3
open62541_15/arch/posix/eventloop_posix_udp.c 3
open62541_15/arch/posix/eventloop_posix_interrupt.c 2
open62541_15/plugins/crypto/ua_certificategroup_none.c 2
open62541_15/plugins/crypto/ua_securitypolicy_none.c 5
open62541_15/plugins/crypto/mbedtls/securitypolicy_common.c 35
open62541_15/plugins/crypto/openssl/securitypolicy_common.c 15
open62541_15client/ua_client.c 89
open62541_15ua_securechannel.c 45
open62541_15client/ua_client_connect.c 83
open62541_15/tests/testing-plugins/testing_networklayers.c 3
open62541_15ua_securechannel_crypto.c 26
open62541_15ua_types_encoding_binary.c 8
open62541_15/plugins/crypto/openssl/securitypolicy_ecccurve448.c 2
open62541_15/tools/tpm_keystore/cert_encrypt_tpm.c 35
open62541_15/plugins/crypto/mbedtls/securitypolicy_eccbrainpoolp384r1.c 4
open62541_15/tests/client/check_client_subscriptions.c 3
open62541_15client/ua_client_subscriptions.c 10
open62541_15server/ua_session.c 3
open62541_15/plugins/crypto/ua_certificategroup_filestore.c 21
open62541_15/deps/mp_printf.c 21
open62541_15/deps/dtoa.c 13
open62541_15util/ua_util_internal.h 2
open62541_15/deps/itoa.c 2
open62541_15/plugins/crypto/ua_filestore_common.c 7
open62541_15/tests/encryption/check_gds_informationmodel.c 10
open62541_15server/ua_server_ns0_gds.c 8
open62541_15/arch/common/eventloop_common.c 3
open62541_15/tests/check_eventloop_eth.c 6
open62541_15server/ua_discovery_mdns_avahi.c 8

Fuzzer: fuzz_certificate_parse

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 10 30.3%
gold [1:9] 6 18.1%
yellow [10:29] 4 12.1%
greenyellow [30:49] 1 3.03%
lawngreen 50+ 12 36.3%
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
5 23 UA_mbedTLS_LoadPemCertificate call site: 00023
3 13 UA_mbedTLS_LoadCertificate call site: 00013 UA_mbedTLS_CopyDataFormatAware
2 10 UA_CertificateUtils_getKeySize call site: 00010 UA_mbedTLS_LoadDerCertificate

Runtime coverage analysis

Covered functions
31
Functions that are reachable but not covered
0
Reachable functions
1
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
open62541/tests/fuzz/fuzz_certificate_parse.cc 10
open62541_15/tests/fuzz/custom_memory_manager.c 1
open62541_15/plugins/crypto/mbedtls/certificategroup.c 6
open62541_15/plugins/crypto/mbedtls/securitypolicy_common.c 9
open62541_15ua_types.c 4

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
3 3 UA_decodeJson call site: 00003 tokenize
3 31 LLVMFuzzerTestOneInput call site: 00031
2 10 LLVMFuzzerTestOneInput call site: 00010
2 15 UA_ByteString_allocBuffer call site: 00015
2 25 LLVMFuzzerTestOneInput call site: 00025
1 20 UA_encodeJson call site: 00020

Runtime coverage analysis

Covered functions
201
Functions that are reachable but not covered
13
Reachable functions
28
Percentage of reachable functions covered
53.57%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
open62541/tests/fuzz/fuzz_json_decode_encode.cc 11
open62541_15ua_types_encoding_json_105.c 7
open62541_15/tools/ua-cli/ua.c 1
open62541_15ua_types.c 4

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 13 16.8%
gold [1:9] 2 2.59%
yellow [10:29] 1 1.29%
greenyellow [30:49] 3 3.89%
lawngreen 50+ 58 75.3%
All colors 77 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
3 29 UA_encodeBinaryInternal call site: 00029 exchangeBuffer
2 36 UA_ByteString_allocBuffer call site: 00036
2 39 LLVMFuzzerTestOneInput call site: 00039 UA_calcSizeBinary
1 12 UA_clear call site: 00012
1 42 UA_encodeBinary call site: 00042
1 51 UA_Variant_copyRange call site: 00051 isStringLike
1 55 UA_Variant_copyRange call site: 00055
1 64 copySubString call site: 00064 UA_Variant_copyRange
1 69 UA_Variant_copyRange call site: 00069 Variant_clear

Runtime coverage analysis

Covered functions
141
Functions that are reachable but not covered
12
Reachable functions
40
Percentage of reachable functions covered
70.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
open62541/tests/fuzz/fuzz_binary_decode.cc 15
open62541_15/tests/fuzz/custom_memory_manager.c 1
open62541_15ua_types.c 21
open62541_15ua_types_encoding_binary.c 13

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 118 76.6%
gold [1:9] 0 0.0%
yellow [10:29] 2 1.29%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 34 22.0%
All colors 154 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
103 42 LLVMFuzzerTestOneInput call site: 00042 _cache
5 4 message_parse call site: 00004 my
5 146 LLVMFuzzerTestOneInput call site: 00146 _free_cached
2 39 LLVMFuzzerTestOneInput call site: 00039
1 11 _label call site: 00011
1 15 message_parse call site: 00015 my
1 152 mdnsd_free call site: 00152

Runtime coverage analysis

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

Files reached

filename functions hit
open62541/tests/fuzz/fuzz_mdns_message.cc 7
open62541_15/deps/mdnsd/libmdnsd/1035.c 9
open62541_15/deps/mdnsd/libmdnsd/mdnsd.c 36
open62541_15/deps/mdnsdmdnsd.c 1

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] 1 16.6%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 5 83.3%
All colors 6 100

Runtime coverage analysis

Covered functions
2
Functions that are reachable but not covered
3
Reachable functions
5
Percentage of reachable functions covered
40.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
open62541/tests/fuzz/fuzz_base64_decode.cc 3
open62541_15/deps/base64.c 2

Fuzzer: fuzz_xml_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 16 7.54%
gold [1:9] 1 0.47%
yellow [10:29] 3 1.41%
greenyellow [30:49] 3 1.41%
lawngreen 50+ 189 89.1%
All colors 212 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
3 199 LLVMFuzzerTestOneInput call site: 00199
2 6 yxml_init call site: 00006
2 168 UA_decodeXml call site: 00168 UA_STRING
2 182 UA_ByteString_allocBuffer call site: 00182
2 185 LLVMFuzzerTestOneInput call site: 00185 UA_calcSizeXml
2 193 LLVMFuzzerTestOneInput call site: 00193
1 9 xml_tokenize call site: 00009
1 166 UA_decodeXml call site: 00166
1 189 UA_encodeXml call site: 00189

Runtime coverage analysis

Covered functions
164
Functions that are reachable but not covered
22
Reachable functions
68
Percentage of reachable functions covered
67.65%
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
open62541/tests/fuzz/fuzz_xml_decode_encode.cc 11
open62541_15ua_types_encoding_xml.c 15
open62541_15/deps/yxml.c 43
open62541_15ua_types.c 5

Fuzzer: fuzz_pubsub_connection_config

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 7 15.9%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 37 84.0%
All colors 44 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
1 9 UA_clear call site: 00009
1 15 UA_PublisherId_copy call site: 00015
1 22 UA_KeyValueMap_copy call site: 00022
1 28 UA_copy call site: 00028 UA_Array_delete
1 31 UA_Array_delete call site: 00031 UA_PubSubConnectionConfig_clear
1 33 UA_PubSubConnectionConfig_clear call site: 00033
1 40 UA_PubSubConnectionConfig_clear call site: 00040 UA_Array_delete

Runtime coverage analysis

Covered functions
82
Functions that are reachable but not covered
6
Reachable functions
24
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
open62541/tests/fuzz/fuzz_pubsub_connection_config.cc 5
open62541_15ua_types_encoding_binary.c 5
open62541_15ua_types.c 8
open62541_15pubsub/ua_pubsub_connection.c 10
open62541_15pubsub/ua_pubsub_manager.c 4
open62541_15util/ua_util.c 2

Fuzzer: fuzz_eventfilter_parse

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 374 19.8%
gold [1:9] 15 0.79%
yellow [10:29] 30 1.59%
greenyellow [30:49] 17 0.90%
lawngreen 50+ 1450 76.8%
All colors 1886 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
89 1370 lookupRefType call site: 01370 UA_Server_readBrowseName
61 1461 UA_copy call site: 01461 readValueAttributeComplete
38 1605 UA_QualifiedName_parseEx call site: 01605 UA_DataType_toStructureDescription
32 1644 UA_ExtensionObject_setValue call site: 01644 isNullableDataType
25 1538 DataValue_clear call site: 01538 readExternalValueAttribute
25 1566 UA_Array_copy call site: 01566 UA_findDataTypeWithCustom
11 1593 stringOrder call site: 01593 UA_DataType_toDescription
9 1793 UA_EventFilterParse call site: 01793 yy_find_reduce_action
8 24 UA_EventFilter_skip call site: 00024
7 1523 UA_Array_new call site: 01523 UA_Variant_copyRange
7 1819 UA_EventFilter_parse call site: 01819 debug_element
6 1716 yy_find_shift_action call site: 01716 yyStackOverflow

Runtime coverage analysis

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

Files reached

filename functions hit
open62541/tests/fuzz/fuzz_eventfilter_parse.cc 7
open62541_15ua_types.c 39
open62541_15util/ua_eventfilter_grammar.c 33
open62541_15util/ua_eventfilter_lex.c 19
open62541_15/include/open62541/plugin/log.h 3
open62541_15/tests/interop/check_interop_client.c 4
open62541_15util/ua_eventfilter_parser.c 34
open62541_15ua_types_encoding_json_105.c 4
open62541_15/tools/ua-cli/ua.c 1
open62541_15util/ua_types_lex.c 54
open62541_15util/ua_util.c 15
open62541_15/deps/base64.c 2
open62541_15util/ua_util_internal.h 1
open62541_15server/ua_services_view.c 31
open62541_15server/ua_server.c 5
open62541_15/arch/posix/eventloop_posix.c 2
open62541_15/include/open62541/plugin/nodestore.h 1
open62541_15server/ua_nodes.c 5
open62541_15server/ua_services_attribute.c 55
open62541_15/tests/server/check_nodestore.c 3
open62541_15ua_types_definition.c 25
open62541_15server/ua_server_utils.c 2
open62541_15/tests/server/check_server_asyncop.c 1

Fuzzer: fuzz_pubsub_json

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 9 16.6%
gold [1:9] 1 1.85%
yellow [10:29] 2 3.70%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 42 77.7%
All colors 54 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
2 17 lookAheadForKey call site: 00017
2 33 decodeFields call site: 00033 skipObject
2 43 UA_DataSetMessage_clear call site: 00043
1 6 UA_NetworkMessage_decodeJson call site: 00006
1 28 decodeFields call site: 00028
1 37 UA_NetworkMessage_decodeJson call site: 00037 UA_Array_delete

Runtime coverage analysis

Covered functions
127
Functions that are reachable but not covered
12
Reachable functions
36
Percentage of reachable functions covered
66.67%
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
open62541/tests/fuzz/fuzz_pubsub_json.cc 5
open62541_15/tests/fuzz/custom_memory_manager.c 1
open62541_15pubsub/ua_pubsub_networkmessage_json.c 11
open62541_15/tools/ua-cli/ua.c 1
open62541_15ua_types_encoding_json_105.c 8
open62541_15pubsub/ua_pubsub_networkmessage_binary.c 7
open62541_15ua_types.c 3

Fuzzer: fuzz_server_services

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 3189 70.1%
gold [1:9] 85 1.86%
yellow [10:29] 56 1.23%
greenyellow [30:49] 15 0.32%
lawngreen 50+ 1203 26.4%
All colors 4548 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
376 3951 getSessionByToken call site: 03951 UA_Client_activateSession
224 2997 UA_KeyValueRestriction_validate call site: 02997 TCP_openPassiveConnection
175 2020 UA_Session_detachSubscription call site: 02020 encrypt
169 2445 UA_init call site: 02445 connectSync
139 3800 LLVMFuzzerTestOneInput call site: 03800 Service_CreateSession
117 2879 UA_Array_resize call site: 02879 FileCertStore_setTrustList
112 3644 UA_String_format call site: 03644 UA_Discovery_addRecord
95 3254 UA_Timer_clear call site: 03254 UA_Client_delete
94 1627 UA_Server_init call site: 01627 UA_EventLoopPOSIX_start
64 2229 UA_Timer_remove call site: 02229 UA_Server_write
55 3369 UA_Subscription_delete call site: 03369 UA_Server_closeSession
49 592 stringOrder call site: 00592 UA_DataType_toDescription

Runtime coverage analysis

Covered functions
2305
Functions that are reachable but not covered
547
Reachable functions
866
Percentage of reachable functions covered
36.84%
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
open62541/tests/fuzz/fuzz_server_services.cc 82
open62541_15/include/open62541/server.h 1
open62541_15server/ua_server_config.c 13
open62541_15/arch/posix/eventloop_posix.c 76
open62541_15/include/open62541/plugin/log.h 3
open62541_15/tests/interop/check_interop_client.c 20
open62541_15/arch/common/timer.c 19
open62541_15server/ua_discovery_mdns_avahi.c 52
open62541_15util/ua_util.c 27
open62541_15ua_types.c 64
open62541_15server/ua_server.c 68
open62541_15/deps/pcg_basic.c 1
open62541_15/arch/freertos/clock_freertos.c 1
open62541_15server/ua_session.c 43
open62541_15server/ua_subscription.c 42
open62541_15server/ua_server_async.c 41
open62541_15server/ua_server_ns0.c 43
open62541_15server/ua_services_nodemanagement.c 137
open62541_15/examples/access_control/server_access_control.c 1
open62541_15server/ua_nodes.c 59
open62541_15server/ua_services_view.c 67
open62541_15/include/open62541/plugin/nodestore.h 2
open62541_15server/ua_services_attribute.c 72
open62541_15/tests/server/check_nodestore.c 3
open62541_15ua_types_definition.c 25
open62541_15util/ua_types_lex.c 16
open62541_15server/ua_server_utils.c 20
open62541_15/tests/server/check_server_asyncop.c 1
open62541_15server/ua_server_internal.h 1
open62541_15/tests/server/check_accesscontrol.c 3
open62541_15server/ua_services_session.c 92
open62541_15/tests/multithreading/check_mt_writeValueAttribute.c 6
open62541_15server/ua_server_ns0_gds.c 27
open62541_15server/ua_server_binary.c 17
open62541_15server/ua_discovery.c 2
open62541_15pubsub/ua_pubsub_manager.c 6
open62541_15pubsub/ua_pubsub_ns0.c 20
open62541_15pubsub/ua_pubsub_ns0_sks.c 3
open62541_15ua_securechannel.c 45
open62541_15ua_securechannel_crypto.c 18
open62541_15ua_types_encoding_binary.c 10
open62541_15/plugins/crypto/openssl/securitypolicy_ecccurve448.c 2
open62541_15/tools/tpm_keystore/cert_encrypt_tpm.c 35
open62541_15/plugins/crypto/mbedtls/securitypolicy_eccbrainpoolp384r1.c 11
open62541_15/plugins/crypto/mbedtls/securitypolicy_common.c 39
open62541_15/arch/posix/eventloop_posix_tcp.c 56
open62541_15server/ua_services_method.c 28
open62541_15/plugins/ua_config_default.c 21
open62541_15/plugins/ua_log_stdout.c 2
open62541_15/arch/zephyr/eventloop_zephyr.c 3
open62541_15/arch/lwip/eventloop_lwip.c 4
open62541_15/arch/zephyr/eventloop_zephyr_tcp.c 3
open62541_15/arch/lwip/eventloop_lwip_tcp.c 3
open62541_15/arch/lwip/eventloop_lwip_udp.c 3
open62541_15/arch/posix/eventloop_posix_udp.c 3
open62541_15/arch/posix/eventloop_posix_interrupt.c 2
open62541_15/plugins/crypto/ua_certificategroup_none.c 2
open62541_15/plugins/crypto/ua_securitypolicy_none.c 5
open62541_15/plugins/crypto/openssl/securitypolicy_common.c 15
open62541_15client/ua_client.c 75
open62541_15client/ua_client_connect.c 98
open62541_15/tests/testing-plugins/testing_networklayers.c 3
open62541_15/tests/client/check_client_subscriptions.c 3
open62541_15client/ua_client_subscriptions.c 10
open62541_15/plugins/crypto/ua_certificategroup_filestore.c 21
open62541_15/deps/mp_printf.c 21
open62541_15/deps/dtoa.c 13
open62541_15util/ua_util_internal.h 2
open62541_15/deps/itoa.c 2
open62541_15/plugins/crypto/ua_filestore_common.c 7
open62541_15/tests/encryption/check_gds_informationmodel.c 10
open62541_15/arch/common/eventloop_common.c 3
open62541_15/tests/check_eventloop_eth.c 6
open62541_15client/ua_client_highlevel.c 5
open62541_15server/ua_subscription_alarms_conditions.c 8
open62541_15server/ua_services_discovery.c 51
open62541_15/examples/discovery/server_multicast.c 5
open62541_15server/ua_server_ns0_diagnostics.c 19
open62541_15util/ua_encryptedsecret.c 54
open62541_15server/ua_services_subscription.c 25
open62541_15server/ua_services.c 2
open62541_15server/ua_services_monitoreditem.c 5

Fuzzer: fuzz_pubsub_binary

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 15 13.2%
gold [1:9] 7 6.19%
yellow [10:29] 6 5.30%
greenyellow [30:49] 5 4.42%
lawngreen 50+ 80 70.7%
All colors 113 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
7 74 UA_DataSetMessage_keyFrame_decodeBinary call site: 00074 decodeRawField
5 82 stringOrder call site: 00082 nodeIdOrder
2 32 UA_ExtendedNetworkMessageHeader_decodeBinary call site: 00032 nsmapping_test_calloc
1 98 UA_ByteString_allocBuffer call site: 00098 _DECODE_BINARY

Runtime coverage analysis

Covered functions
80
Functions that are reachable but not covered
16
Reachable functions
45
Percentage of reachable functions covered
64.44%
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
open62541/tests/fuzz/fuzz_pubsub_binary.cc 5
open62541_15/tests/fuzz/custom_memory_manager.c 1
open62541_15pubsub/ua_pubsub_networkmessage_binary.c 33
open62541_15ua_types_encoding_binary.c 3
open62541_15/tests/nodeset-compiler/check_client_nsMapping.c 1
open62541_15ua_types.c 10

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 15 38.4%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 2.56%
lawngreen 50+ 23 58.9%
All colors 39 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
3 9 txt2sd call site: 00009
2 2 LLVMFuzzerTestOneInput call site: 00002 xht_new
2 6 xht_new call site: 00006
2 15 xht_store call site: 00015 _xht_node_find
2 26 sd2txt call site: 00026 xht_walk
2 36 xht_free call site: 00036
1 13 xht_store call site: 00013
1 24 LLVMFuzzerTestOneInput call site: 00024 xht_walk

Runtime coverage analysis

Covered functions
13
Functions that are reachable but not covered
9
Reachable functions
19
Percentage of reachable functions covered
52.63%
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
open62541/tests/fuzz/fuzz_mdns_xht.cc 7
open62541_15/deps/mdnsd/libmdnsd/sdtxt.c 8
open62541_15/deps/mdnsd/libmdnsd/xht.c 8

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
3 3 UA_decodeJson call site: 00003 tokenize

Runtime coverage analysis

Covered functions
110
Functions that are reachable but not covered
8
Reachable functions
18
Percentage of reachable functions covered
55.56%
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
open62541/tests/fuzz/fuzz_json_decode.cc 4
open62541_15ua_types_encoding_json_105.c 4
open62541_15/tools/ua-cli/ua.c 1
open62541_15ua_types.c 1

Fuzzer: fuzz_parse_string

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 404 57.4%
gold [1:9] 112 15.9%
yellow [10:29] 30 4.26%
greenyellow [30:49] 32 4.55%
lawngreen 50+ 125 17.7%
All colors 703 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
90 249 lookupRefType call site: 00249 UA_Server_readBrowseName
76 483 UA_STRING call site: 00483 UA_DataType_toStructureDescription
69 342 UA_clear call site: 00342 readValueAttributeComplete
31 413 UA_Array_delete call site: 00413 readExternalValueAttribute
26 446 UA_Array_copy call site: 00446 UA_findDataTypeWithCustom
16 579 printRelativePath call site: 00579 getRefTypeBrowseName
16 612 UA_String_escapeInsert call site: 00612 getRefTypeBrowseName
14 596 UA_String_escapedSize call site: 00596 printNodeIdBody
9 46 parse_nodeid call site: 00046 UA_String_unescape
9 473 nodeIdOrder call site: 00473 UA_DataType_toDescription
8 631 UA_String_escapeAppend call site: 00631 itoaUnsigned
5 196 parse_expandednodeid call site: 00196 UA_readNumber

Runtime coverage analysis

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

Files reached

filename functions hit
open62541/tests/fuzz/fuzz_parse_string.cc 26
open62541_15ua_types.c 51
open62541_15util/ua_types_lex.c 56
open62541_15util/ua_util.c 34
open62541_15/deps/base64.c 2
open62541_15/deps/parse_num.c 1
open62541_15/deps/libc_time.c 2
open62541_15server/ua_services_view.c 31
open62541_15server/ua_server.c 5
open62541_15/arch/posix/eventloop_posix.c 2
open62541_15/include/open62541/plugin/nodestore.h 1
open62541_15server/ua_nodes.c 5
open62541_15server/ua_services_attribute.c 55
open62541_15/tests/server/check_nodestore.c 3
open62541_15ua_types_definition.c 25
open62541_15server/ua_server_utils.c 2
open62541_15/tests/server/check_server_asyncop.c 1
open62541_15/include/open62541/plugin/log.h 3
open62541_15/tests/interop/check_interop_client.c 4
open62541_15util/ua_util_internal.h 2
open62541_15/deps/itoa.c 2

Fuzzer: fuzz_config_json

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 2503 69.6%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 0.02%
lawngreen 50+ 1092 30.3%
All colors 3596 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
243 3071 UA_KeyValueRestriction_validate call site: 03071 TCP_openPassiveConnection
235 2835 format_string_loop call site: 02835 FileCertStore_setTrustList
175 2094 UA_Session_detachSubscription call site: 02094 encrypt
175 2513 UA_EventLoopPOSIX_lock call site: 02513 sendCloseSession
95 3328 UA_Timer_clear call site: 03328 UA_Client_delete
94 1701 UA_Server_init call site: 01701 UA_EventLoopPOSIX_start
79 2288 UA_Subscription_delete call site: 02288 UA_Server_write
55 3443 UA_Subscription_delete call site: 03443 UA_Server_closeSession
53 36 utf8_from_codepoint call site: 00036 UA_ServerConfig_clear
49 666 stringOrder call site: 00666 UA_DataType_toDescription
49 2739 UA_EventLoopPOSIX_start call site: 02739 FileCertStore_verifyCertificate
48 616 DataValue_clear call site: 00616 readExternalValueAttribute

Runtime coverage analysis

Covered functions
2168
Functions that are reachable but not covered
391
Reachable functions
665
Percentage of reachable functions covered
41.2%
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
open62541/tests/fuzz/fuzz_config_json.cc 3
open62541_15/plugins/ua_config_json.c 13
open62541_15/deps/cj5.c 12
open62541_15/deps/utf8.h 1
open62541_15/include/open62541/plugin/log.h 3
open62541_15/tests/interop/check_interop_client.c 20
open62541_15server/ua_server_config.c 13
open62541_15/arch/posix/eventloop_posix.c 75
open62541_15/arch/common/timer.c 19
open62541_15server/ua_discovery_mdns_avahi.c 8
open62541_15util/ua_util.c 22
open62541_15ua_types.c 56
open62541_15server/ua_server.c 64
open62541_15/deps/pcg_basic.c 1
open62541_15/arch/freertos/clock_freertos.c 1
open62541_15server/ua_session.c 43
open62541_15server/ua_subscription.c 38
open62541_15server/ua_server_async.c 40
open62541_15server/ua_server_ns0.c 43
open62541_15server/ua_services_nodemanagement.c 137
open62541_15/examples/access_control/server_access_control.c 1
open62541_15server/ua_nodes.c 59
open62541_15server/ua_services_view.c 67
open62541_15/include/open62541/plugin/nodestore.h 2
open62541_15server/ua_services_attribute.c 72
open62541_15/tests/server/check_nodestore.c 3
open62541_15ua_types_definition.c 25
open62541_15util/ua_types_lex.c 16
open62541_15server/ua_server_utils.c 14
open62541_15/tests/server/check_server_asyncop.c 1
open62541_15server/ua_server_internal.h 1
open62541_15/tests/server/check_accesscontrol.c 3
open62541_15server/ua_services_session.c 26
open62541_15/tests/multithreading/check_mt_writeValueAttribute.c 6
open62541_15server/ua_server_ns0_gds.c 27
open62541_15server/ua_server_binary.c 13
open62541_15server/ua_discovery.c 2
open62541_15pubsub/ua_pubsub_manager.c 6
open62541_15pubsub/ua_pubsub_ns0.c 20
open62541_15pubsub/ua_pubsub_ns0_sks.c 3
open62541_15ua_securechannel.c 45
open62541_15ua_securechannel_crypto.c 18
open62541_15ua_types_encoding_binary.c 5
open62541_15/plugins/crypto/openssl/securitypolicy_ecccurve448.c 2
open62541_15/tools/tpm_keystore/cert_encrypt_tpm.c 35
open62541_15/plugins/crypto/mbedtls/securitypolicy_eccbrainpoolp384r1.c 1
open62541_15/plugins/crypto/mbedtls/securitypolicy_common.c 14
open62541_15/arch/posix/eventloop_posix_tcp.c 56
open62541_15server/ua_services_method.c 28
open62541_15/plugins/ua_config_default.c 21
open62541_15/plugins/ua_log_stdout.c 2
open62541_15/arch/zephyr/eventloop_zephyr.c 3
open62541_15/arch/lwip/eventloop_lwip.c 4
open62541_15/arch/zephyr/eventloop_zephyr_tcp.c 3
open62541_15/arch/lwip/eventloop_lwip_tcp.c 3
open62541_15/arch/lwip/eventloop_lwip_udp.c 3
open62541_15/arch/posix/eventloop_posix_udp.c 3
open62541_15/arch/posix/eventloop_posix_interrupt.c 2
open62541_15/plugins/crypto/ua_certificategroup_none.c 2
open62541_15/plugins/crypto/ua_securitypolicy_none.c 5
open62541_15/plugins/crypto/openssl/securitypolicy_common.c 15
open62541_15client/ua_client.c 75
open62541_15client/ua_client_connect.c 65
open62541_15/tests/testing-plugins/testing_networklayers.c 3
open62541_15/tests/client/check_client_subscriptions.c 3
open62541_15client/ua_client_subscriptions.c 10
open62541_15/plugins/crypto/ua_certificategroup_filestore.c 21
open62541_15/deps/mp_printf.c 21
open62541_15/deps/dtoa.c 13
open62541_15util/ua_util_internal.h 2
open62541_15/deps/itoa.c 2
open62541_15/plugins/crypto/ua_filestore_common.c 7
open62541_15/tests/encryption/check_gds_informationmodel.c 10
open62541_15/arch/common/eventloop_common.c 3
open62541_15/tests/check_eventloop_eth.c 6
open62541_15client/ua_client_highlevel.c 5
open62541_15server/ua_subscription_alarms_conditions.c 8

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 2 11.1%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 16 88.8%
All colors 18 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
1 3 LLVMFuzzerTestOneInput call site: 00003 UA_parseEndpointUrl
1 13 LLVMFuzzerTestOneInput call site: 00013 UA_parseEndpointUrlEthernet

Runtime coverage analysis

Covered functions
8
Functions that are reachable but not covered
6
Reachable functions
12
Percentage of reachable functions covered
50.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
open62541/tests/fuzz/fuzz_src_ua_util.cc 4
open62541_15/tests/fuzz/custom_memory_manager.c 1
open62541_15/tests/fuzz/fuzz_src_ua_util.cc 2
open62541_15util/ua_util.c 5

Fuzzer: fuzz_attributeoperand

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 343 59.9%
gold [1:9] 6 1.04%
yellow [10:29] 19 3.32%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 204 35.6%
All colors 572 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
89 134 lookupRefType call site: 00134 UA_Server_readBrowseName
79 370 UA_STRING call site: 00370 UA_DataType_toStructureDescription
66 226 UA_clear call site: 00226 readValueAttributeComplete
31 300 UA_Array_delete call site: 00300 readExternalValueAttribute
25 333 UA_Array_copy call site: 00333 UA_findDataTypeWithCustom
8 361 stringOrder call site: 00361 UA_DataType_toDescription
6 75 parse_nodeid_body call site: 00075 UA_readNumberWithBase
5 59 UA_String_unescape call site: 00059 UA_NamespaceMapping_uri2Index
5 545 UA_AttributeOperand_print call site: 00545 UA_AttributeId_name
4 294 UA_ByteString_allocBuffer call site: 00294 UA_Variant_copyRange
4 468 nodeIdSize call site: 00468 isReservedAndExtended
3 507 printRelativePath call site: 00507 UA_String_append

Runtime coverage analysis

Covered functions
83
Functions that are reachable but not covered
160
Reachable functions
222
Percentage of reachable functions covered
27.93%
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
open62541/tests/fuzz/fuzz_attributeoperand.cc 10
open62541_15/tests/fuzz/custom_memory_manager.c 1
open62541_15util/ua_types_lex.c 41
open62541_15util/ua_util_internal.h 2
open62541_15util/ua_util.c 36
open62541_15ua_types.c 48
open62541_15/deps/base64.c 2
open62541_15server/ua_services_view.c 31
open62541_15server/ua_server.c 5
open62541_15/arch/posix/eventloop_posix.c 2
open62541_15/include/open62541/plugin/nodestore.h 1
open62541_15server/ua_nodes.c 5
open62541_15server/ua_services_attribute.c 55
open62541_15/tests/server/check_nodestore.c 3
open62541_15ua_types_definition.c 25
open62541_15server/ua_server_utils.c 2
open62541_15/tests/server/check_server_asyncop.c 1
open62541_15/include/open62541/plugin/log.h 3
open62541_15/tests/interop/check_interop_client.c 4
open62541_15/deps/itoa.c 2

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 2395 65.9%
gold [1:9] 1 0.02%
yellow [10:29] 29 0.79%
greenyellow [30:49] 3 0.08%
lawngreen 50+ 1205 33.1%
All colors 3633 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
138 2481 UA_SecureChannel_shutdown call site: 02481 stateCallback
115 2066 UA_EventLoopPOSIX_freeNetworkBuffer call site: 02066 encrypt
98 2883 UA_Array_resize call site: 02883 FileCertStore_setTrustList
95 3259 UA_Timer_clear call site: 03259 UA_Client_delete
94 1632 UA_Server_init call site: 01632 UA_EventLoopPOSIX_start
79 3147 TCP_openConnection call site: 03147 UA_Client_clear
65 2815 format_string_loop call site: 02815 UA_NodeId_print
64 2234 UA_Timer_remove call site: 02234 UA_Server_write
55 3374 UA_Subscription_delete call site: 03374 UA_Server_closeSession
49 597 stringOrder call site: 00597 UA_DataType_toDescription
47 2766 format_string_loop call site: 02766 print_integer
46 547 DataValue_clear call site: 00547 readExternalValueAttribute

Runtime coverage analysis

Covered functions
2337
Functions that are reachable but not covered
361
Reachable functions
631
Percentage of reachable functions covered
42.79%
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
open62541/tests/fuzz/fuzz_tcp_message.cc 24
open62541_15/include/open62541/server.h 1
open62541_15server/ua_server_config.c 13
open62541_15/arch/posix/eventloop_posix.c 76
open62541_15/include/open62541/plugin/log.h 3
open62541_15/tests/interop/check_interop_client.c 20
open62541_15/arch/common/timer.c 19
open62541_15server/ua_discovery_mdns_avahi.c 8
open62541_15util/ua_util.c 22
open62541_15ua_types.c 56
open62541_15server/ua_server.c 95
open62541_15/deps/pcg_basic.c 1
open62541_15/arch/freertos/clock_freertos.c 1
open62541_15server/ua_session.c 43
open62541_15server/ua_subscription.c 38
open62541_15server/ua_server_async.c 43
open62541_15server/ua_server_ns0.c 43
open62541_15server/ua_services_nodemanagement.c 137
open62541_15/examples/access_control/server_access_control.c 1
open62541_15server/ua_nodes.c 59
open62541_15server/ua_services_view.c 67
open62541_15/include/open62541/plugin/nodestore.h 2
open62541_15server/ua_services_attribute.c 72
open62541_15/tests/server/check_nodestore.c 3
open62541_15ua_types_definition.c 25
open62541_15util/ua_types_lex.c 16
open62541_15server/ua_server_utils.c 14
open62541_15/tests/server/check_server_asyncop.c 1
open62541_15server/ua_server_internal.h 1
open62541_15/tests/server/check_accesscontrol.c 3
open62541_15server/ua_services_session.c 26
open62541_15/tests/multithreading/check_mt_writeValueAttribute.c 6
open62541_15server/ua_server_ns0_gds.c 27
open62541_15server/ua_server_binary.c 13
open62541_15server/ua_discovery.c 2
open62541_15pubsub/ua_pubsub_manager.c 6
open62541_15pubsub/ua_pubsub_ns0.c 20
open62541_15pubsub/ua_pubsub_ns0_sks.c 3
open62541_15ua_securechannel.c 45
open62541_15ua_securechannel_crypto.c 18
open62541_15ua_types_encoding_binary.c 5
open62541_15/plugins/crypto/openssl/securitypolicy_ecccurve448.c 2
open62541_15/tools/tpm_keystore/cert_encrypt_tpm.c 35
open62541_15/plugins/crypto/mbedtls/securitypolicy_eccbrainpoolp384r1.c 1
open62541_15/plugins/crypto/mbedtls/securitypolicy_common.c 14
open62541_15/arch/posix/eventloop_posix_tcp.c 56
open62541_15server/ua_services_method.c 28
open62541_15/plugins/ua_config_default.c 21
open62541_15/plugins/ua_log_stdout.c 2
open62541_15/arch/zephyr/eventloop_zephyr.c 3
open62541_15/arch/lwip/eventloop_lwip.c 4
open62541_15/arch/zephyr/eventloop_zephyr_tcp.c 3
open62541_15/arch/lwip/eventloop_lwip_tcp.c 3
open62541_15/arch/lwip/eventloop_lwip_udp.c 3
open62541_15/arch/posix/eventloop_posix_udp.c 3
open62541_15/arch/posix/eventloop_posix_interrupt.c 2
open62541_15/plugins/crypto/ua_certificategroup_none.c 2
open62541_15/plugins/crypto/ua_securitypolicy_none.c 5
open62541_15/plugins/crypto/openssl/securitypolicy_common.c 15
open62541_15client/ua_client.c 75
open62541_15client/ua_client_connect.c 65
open62541_15/tests/testing-plugins/testing_networklayers.c 3
open62541_15/tests/client/check_client_subscriptions.c 3
open62541_15client/ua_client_subscriptions.c 10
open62541_15/plugins/crypto/ua_certificategroup_filestore.c 21
open62541_15/deps/mp_printf.c 21
open62541_15/deps/dtoa.c 13
open62541_15util/ua_util_internal.h 2
open62541_15/deps/itoa.c 2
open62541_15/plugins/crypto/ua_filestore_common.c 7
open62541_15/tests/encryption/check_gds_informationmodel.c 10
open62541_15/arch/common/eventloop_common.c 3
open62541_15/tests/check_eventloop_eth.c 6
open62541_15client/ua_client_highlevel.c 5
open62541_15server/ua_subscription_alarms_conditions.c 8
open62541_15/tests/fuzz/custom_memory_manager.c 1

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+ 5 100.%
All colors 5 100

Runtime coverage analysis

Covered functions
3
Functions that are reachable but not covered
2
Reachable functions
5
Percentage of reachable functions covered
60.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
open62541/tests/fuzz/fuzz_base64_encode.cc 3
open62541_15/deps/base64.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 2948 72.9%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1091 27.0%
All colors 4039 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
355 3668 UDP_checkStopped call site: 03668 processSecureChannelMessage
243 2998 UA_KeyValueRestriction_validate call site: 02998 TCP_openPassiveConnection
235 2762 format_string_loop call site: 02762 FileCertStore_setTrustList
175 2021 UA_Session_detachSubscription call site: 02021 encrypt
175 2440 UA_EventLoopPOSIX_lock call site: 02440 sendCloseSession
127 3539 serverNetworkCallbackLocked call site: 03539 addDiscoveryUrl
95 3255 UA_Timer_clear call site: 03255 UA_Client_delete
94 1628 UA_Server_init call site: 01628 UA_EventLoopPOSIX_start
79 2215 UA_Subscription_delete call site: 02215 UA_Server_write
55 3370 UA_Subscription_delete call site: 03370 UA_Server_closeSession
49 593 stringOrder call site: 00593 UA_DataType_toDescription
49 2666 UA_EventLoopPOSIX_start call site: 02666 FileCertStore_verifyCertificate

Runtime coverage analysis

Covered functions
2140
Functions that are reachable but not covered
494
Reachable functions
750
Percentage of reachable functions covered
34.13%
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
open62541/tests/fuzz/fuzz_binary_message.cc 16
open62541_15/include/open62541/server.h 1
open62541_15server/ua_server_config.c 13
open62541_15/arch/posix/eventloop_posix.c 75
open62541_15/include/open62541/plugin/log.h 3
open62541_15/tests/interop/check_interop_client.c 20
open62541_15/arch/common/timer.c 19
open62541_15server/ua_discovery_mdns_avahi.c 8
open62541_15util/ua_util.c 22
open62541_15ua_types.c 59
open62541_15server/ua_server.c 64
open62541_15/deps/pcg_basic.c 1
open62541_15/arch/freertos/clock_freertos.c 1
open62541_15server/ua_session.c 43
open62541_15server/ua_subscription.c 38
open62541_15server/ua_server_async.c 40
open62541_15server/ua_server_ns0.c 43
open62541_15server/ua_services_nodemanagement.c 137
open62541_15/examples/access_control/server_access_control.c 1
open62541_15server/ua_nodes.c 59
open62541_15server/ua_services_view.c 67
open62541_15/include/open62541/plugin/nodestore.h 2
open62541_15server/ua_services_attribute.c 72
open62541_15/tests/server/check_nodestore.c 3
open62541_15ua_types_definition.c 25
open62541_15util/ua_types_lex.c 16
open62541_15server/ua_server_utils.c 14
open62541_15/tests/server/check_server_asyncop.c 1
open62541_15server/ua_server_internal.h 1
open62541_15/tests/server/check_accesscontrol.c 3
open62541_15server/ua_services_session.c 26
open62541_15/tests/multithreading/check_mt_writeValueAttribute.c 6
open62541_15server/ua_server_ns0_gds.c 27
open62541_15server/ua_server_binary.c 89
open62541_15server/ua_discovery.c 2
open62541_15pubsub/ua_pubsub_manager.c 6
open62541_15pubsub/ua_pubsub_ns0.c 20
open62541_15pubsub/ua_pubsub_ns0_sks.c 3
open62541_15ua_securechannel.c 65
open62541_15ua_securechannel_crypto.c 42
open62541_15ua_types_encoding_binary.c 8
open62541_15/plugins/crypto/openssl/securitypolicy_ecccurve448.c 2
open62541_15/tools/tpm_keystore/cert_encrypt_tpm.c 35
open62541_15/plugins/crypto/mbedtls/securitypolicy_eccbrainpoolp384r1.c 7
open62541_15/plugins/crypto/mbedtls/securitypolicy_common.c 37
open62541_15/arch/posix/eventloop_posix_tcp.c 56
open62541_15server/ua_services_method.c 28
open62541_15/plugins/ua_config_default.c 21
open62541_15/plugins/ua_log_stdout.c 2
open62541_15/arch/zephyr/eventloop_zephyr.c 3
open62541_15/arch/lwip/eventloop_lwip.c 4
open62541_15/arch/zephyr/eventloop_zephyr_tcp.c 3
open62541_15/arch/lwip/eventloop_lwip_tcp.c 3
open62541_15/arch/lwip/eventloop_lwip_udp.c 3
open62541_15/arch/posix/eventloop_posix_udp.c 15
open62541_15/arch/posix/eventloop_posix_interrupt.c 2
open62541_15/plugins/crypto/ua_certificategroup_none.c 2
open62541_15/plugins/crypto/ua_securitypolicy_none.c 5
open62541_15/plugins/crypto/openssl/securitypolicy_common.c 15
open62541_15client/ua_client.c 75
open62541_15client/ua_client_connect.c 65
open62541_15/tests/testing-plugins/testing_networklayers.c 5
open62541_15/tests/client/check_client_subscriptions.c 3
open62541_15client/ua_client_subscriptions.c 10
open62541_15/plugins/crypto/ua_certificategroup_filestore.c 21
open62541_15/deps/mp_printf.c 21
open62541_15/deps/dtoa.c 13
open62541_15util/ua_util_internal.h 2
open62541_15/deps/itoa.c 2
open62541_15/plugins/crypto/ua_filestore_common.c 7
open62541_15/tests/encryption/check_gds_informationmodel.c 10
open62541_15/arch/common/eventloop_common.c 3
open62541_15/tests/check_eventloop_eth.c 6
open62541_15client/ua_client_highlevel.c 5
open62541_15server/ua_subscription_alarms_conditions.c 8
open62541_15server/ua_services_securechannel.c 17
open62541_15/plugins/ua_debug_dump_pkgs.c 3
open62541_15/tests/fuzz/ua_debug_dump_pkgs_file.c 14
open62541_15/plugins/crypto/openssl/securitypolicy_basic128rsa15.c 1
open62541_15server/ua_services.c 12

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_loadPubSubConfigMethodCallback /src/open62541/src/pubsub/ua_pubsub_ns0.c 11 ['UA_Server*', 'UA_NodeId*', 'void*', 'UA_NodeId*', 'void*', 'UA_NodeId*', 'void*', 'size_t', 'UA_Variant*', 'size_t', 'UA_Variant*'] 25 0 10 3 2 586 0 2084 564
UA_Server_triggerWriterGroupPublish /src/open62541/src/pubsub/ua_pubsub_writergroup.c 2 ['UA_Server*', 'UA_NodeId'] 16 0 11 3 2 253 1 982 369
UA_Server_createEventMonitoredItemEx /src/open62541/src/server/ua_services_monitoreditem.c 4 ['UA_Server*', 'UA_MonitoredItemCreateRequest', 'void*', 'UA_Server_EventNotificationCallback'] 32 0 49 8 11 362 1 1317 311

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

Functions statically reachable by fuzzers
18.0%
1160 / 6446
Cyclomatic complexity statically reachable by fuzzers
40.0%
7985 / 20132

All functions overview

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

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

Fuzz engine guidance

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

open62541/tests/fuzz/fuzz_client.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_SecureChannel_clear', 'UA_init', 'notifyClientState', 'UA_copy', 'UA_String_fromChars', 'processServiceResponse', 'UA_EventLoopPOSIX_registerEventSource', 'processDelayed', 'UA_EventLoopPOSIX_unlock']

open62541/tests/fuzz/fuzz_certificate_parse.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_mbedTLS_LoadPemCertificate', 'UA_mbedTLS_LoadCertificate', 'UA_CertificateUtils_getKeySize']

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=['UA_decodeJson', 'LLVMFuzzerTestOneInput', 'UA_ByteString_allocBuffer', 'UA_encodeJson']

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_encodeBinaryInternal', 'UA_ByteString_allocBuffer', 'LLVMFuzzerTestOneInput', 'UA_clear', 'UA_encodeBinary', 'UA_Variant_copyRange', 'copySubString']

open62541/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=['LLVMFuzzerTestOneInput', 'message_parse', '_label', 'mdnsd_free']

open62541/tests/fuzz/fuzz_base64_decode.cc

Dictionary

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


open62541/tests/fuzz/fuzz_xml_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', 'yxml_init', 'UA_decodeXml', 'UA_ByteString_allocBuffer', 'xml_tokenize', 'UA_encodeXml']

open62541/tests/fuzz/fuzz_pubsub_connection_config.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_clear', 'UA_PublisherId_copy', 'UA_KeyValueMap_copy', 'UA_copy', 'UA_Array_delete', 'UA_PubSubConnectionConfig_clear']

open62541/tests/fuzz/fuzz_eventfilter_parse.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=['lookupRefType', 'UA_copy', 'UA_QualifiedName_parseEx', 'UA_ExtensionObject_setValue', 'DataValue_clear', 'UA_Array_copy', 'stringOrder', 'UA_EventFilterParse', 'UA_EventFilter_skip', 'UA_Array_new']

open62541/tests/fuzz/fuzz_pubsub_json.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=['lookAheadForKey', 'decodeFields', 'UA_DataSetMessage_clear', 'UA_NetworkMessage_decodeJson']

open62541/tests/fuzz/fuzz_server_services.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=['getSessionByToken', 'UA_KeyValueRestriction_validate', 'UA_Session_detachSubscription', 'UA_init', 'LLVMFuzzerTestOneInput', 'UA_Array_resize', 'UA_String_format', 'UA_Timer_clear', 'UA_Server_init', 'UA_Timer_remove']

open62541/tests/fuzz/fuzz_pubsub_binary.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_DataSetMessage_keyFrame_decodeBinary', 'stringOrder', 'UA_ExtendedNetworkMessageHeader_decodeBinary', 'UA_ByteString_allocBuffer']

open62541/tests/fuzz/fuzz_mdns_xht.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=['txt2sd', 'LLVMFuzzerTestOneInput', 'xht_new', 'xht_store', 'sd2txt', 'xht_free']

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=['UA_decodeJson']

open62541/tests/fuzz/fuzz_parse_string.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=['lookupRefType', 'UA_STRING', 'UA_clear', 'UA_Array_delete', 'UA_Array_copy', 'printRelativePath', 'UA_String_escapeInsert', 'UA_String_escapedSize', 'parse_nodeid', 'nodeIdOrder']

open62541/tests/fuzz/fuzz_config_json.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_KeyValueRestriction_validate', 'format_string_loop', 'UA_Session_detachSubscription', 'UA_EventLoopPOSIX_lock', 'UA_Timer_clear', 'UA_Server_init', 'UA_Subscription_delete', 'utf8_from_codepoint', 'stringOrder']

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=['LLVMFuzzerTestOneInput']

open62541/tests/fuzz/fuzz_attributeoperand.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=['lookupRefType', 'UA_STRING', 'UA_clear', 'UA_Array_delete', 'UA_Array_copy', 'stringOrder', 'parse_nodeid_body', 'UA_String_unescape', 'UA_AttributeOperand_print', 'UA_ByteString_allocBuffer']

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=['UA_SecureChannel_shutdown', 'UA_EventLoopPOSIX_freeNetworkBuffer', 'UA_Array_resize', 'UA_Timer_clear', 'UA_Server_init', 'TCP_openConnection', 'format_string_loop', 'UA_Timer_remove', 'UA_Subscription_delete', 'stringOrder']

open62541/tests/fuzz/fuzz_base64_encode.cc

Dictionary

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


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=['UDP_checkStopped', 'UA_KeyValueRestriction_validate', 'format_string_loop', 'UA_Session_detachSubscription', 'UA_EventLoopPOSIX_lock', 'serverNetworkCallbackLocked', 'UA_Timer_clear', 'UA_Server_init', 'UA_Subscription_delete']

Runtime coverage analysis

This section shows analysis of runtime coverage data.

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

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
processServiceResponse 40 10 25.0% ['fuzz_client']
__Client_Service 68 8 11.76% ['fuzz_client']
clearStructure 35 19 54.28% ['fuzz_binary_message', 'fuzz_pubsub_binary', 'fuzz_attributeoperand', 'fuzz_pubsub_json', 'fuzz_json_decode', 'fuzz_tcp_message', 'fuzz_pubsub_connection_config', 'fuzz_config_json', 'fuzz_eventfilter_parse', 'fuzz_binary_decode', 'fuzz_server_services', 'fuzz_client', 'fuzz_parse_string', 'fuzz_xml_decode_encode']
UA_encodeJson 35 18 51.42% ['fuzz_json_decode_encode']
ExtensionObject_encodeJson 36 3 8.333%
DiagnosticInfo_encodeJson 33 14 42.42%
structureOrder 51 28 54.90% ['fuzz_attributeoperand', 'fuzz_binary_decode']
mdnsd_in 96 8 8.333% ['fuzz_mdns_message']
decodeMatrixVariant 36 4 11.11% ['fuzz_xml_decode_encode']
lookupRefType 38 12 31.57% ['fuzz_eventfilter_parse', 'fuzz_attributeoperand', 'fuzz_parse_string']
UA_KeyValueRestriction_validate 35 15 42.85% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
UA_EventLoopPOSIX_start 76 37 48.68% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
format_string_loop 239 99 41.42% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
print_integer_finalization 51 16 31.37% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
UA_NodePointer_copy 42 11 26.19% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
UA_Node_copy 118 63 53.38% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
UA_Node_deleteReference 54 25 46.29% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
UA_Node_insertOrUpdateLocale 37 14 37.83% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
auditEvent 90 4 4.444% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
createSubscriptionObject 56 18 32.14% ['fuzz_server_services']
compatibleValue 37 10 27.02% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
readValueAttributeComplete 33 18 54.54% ['fuzz_binary_message', 'fuzz_attributeoperand', 'fuzz_tcp_message', 'fuzz_config_json', 'fuzz_eventfilter_parse', 'fuzz_server_services', 'fuzz_parse_string']
copyAttributeIntoNode 186 49 26.34% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
writeNodeValueAttribute 91 40 43.95% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
Service_FindServersOnNetwork 57 8 14.03% ['fuzz_server_services']
process_RegisterServer 122 9 7.377% ['fuzz_server_services']
Service_CreateMonitoredItems 32 16 50.0% ['fuzz_server_services']
addNode_raw 73 35 47.94% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
checkParentReference 63 29 46.03% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
useVariableTypeAttributes 48 20 41.66% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
typeCheckVariableNode 80 9 11.25% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
recursiveCallConstructors 91 41 45.05% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
deconstructNodeSet 38 14 36.84% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
Operation_deleteReference 55 22 40.0% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
UA_Server_addMethodNodeEx_finish 88 39 44.31% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
Service_ActivateSession_inner 184 11 5.978% ['fuzz_server_services']
Service_ModifySubscription 42 10 23.80% ['fuzz_server_services']
notifySubscription 40 4 10.0% ['fuzz_server_services']
Operation_Browse 89 36 40.44% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
browse 48 26 54.16% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
browseWithNode 65 23 35.38% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
walkBrowsePathElement 72 31 43.05% ['fuzz_binary_message', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_server_services']
SecurityPolicyField_parseJson 41 22 53.65% ['fuzz_config_json']
TCP_registerListenSocket 167 72 43.11% ['fuzz_tcp_message']
TCP_connectionSocketCallback 63 27 42.85% ['fuzz_tcp_message']
TCP_sendWithConnection 42 23 54.76% ['fuzz_tcp_message']
UDP_registerListenSocket 121 51 42.14% ['fuzz_tcp_message']
UDP_openSendConnection 79 41 51.89% ['fuzz_tcp_message']
UA_PubSubManager_setState 36 16 44.44% ['fuzz_tcp_message']
MulticastDiscoveryCallback 44 11 25.0% ['fuzz_tcp_message']
mdns_create_txt 60 24 40.0% ['fuzz_tcp_message', 'fuzz_server_services']
processSecureChannelMessage 57 12 21.05% ['fuzz_binary_message', 'fuzz_tcp_message']
UA_BinaryProtocolManager_start 56 30 53.57% ['fuzz_tcp_message']
notifySecureChannel 62 4 6.451% ['fuzz_binary_message', 'fuzz_tcp_message']
UA_SecureChannel_getCompleteMessage 107 25 23.36% ['fuzz_binary_message', 'fuzz_tcp_message']

Fuzz driver synthesis

New fuzzers

The below fuzzers are templates and suggestions for how to target the set of optimal functions above

ua_pubsub_ns0.c

Target file: /src/open62541/src/pubsub/ua_pubsub_ns0.c
Target functions: UA_loadPubSubConfigMethodCallback
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target UA_loadPubSubConfigMethodCallback */
  UNKNOWN_TYPE unknown_0;
  UNKNOWN_TYPE unknown_1;
  UNKNOWN_TYPE unknown_2;
  UNKNOWN_TYPE unknown_3;
  UNKNOWN_TYPE unknown_4;
  UNKNOWN_TYPE unknown_5;
  UNKNOWN_TYPE unknown_6;
  UNKNOWN_TYPE unknown_7;
  UNKNOWN_TYPE unknown_8;
  UNKNOWN_TYPE unknown_9;
  UNKNOWN_TYPE unknown_10;
  UA_loadPubSubConfigMethodCallback(unknown_0, unknown_1, unknown_2, unknown_3, unknown_4, unknown_5, unknown_6, unknown_7, unknown_8, unknown_9, unknown_10);

  af_safe_gb_cleanup();
}

ua_pubsub_writergroup.c

Target file: /src/open62541/src/pubsub/ua_pubsub_writergroup.c
Target functions: UA_Server_triggerWriterGroupPublish
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target UA_Server_triggerWriterGroupPublish */
  UNKNOWN_TYPE unknown_11;
  UNKNOWN_TYPE unknown_12;
  UA_Server_triggerWriterGroupPublish(unknown_11, unknown_12);

  af_safe_gb_cleanup();
}

ua_services_monitoreditem.c

Target file: /src/open62541/src/server/ua_services_monitoreditem.c
Target functions: UA_Server_createEventMonitoredItemEx
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target UA_Server_createEventMonitoredItemEx */
  UNKNOWN_TYPE unknown_13;
  UNKNOWN_TYPE unknown_14;
  UNKNOWN_TYPE unknown_15;
  UNKNOWN_TYPE unknown_16;
  UA_Server_createEventMonitoredItemEx(unknown_13, unknown_14, unknown_15, unknown_16);

  af_safe_gb_cleanup();
}

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_server_rbac.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_eccbrainpoolp384r1.c [] []
/src/open62541/deps/mdnsd/src/mcsock.c [] []
/src/open62541/deps/ua-nodeset/AnsiC/opcua_serverapi.c [] []
/src/open62541/tests/check_itoa.c [] []
/src/open62541/deps/parse_num.c [] []
/src/open62541/arch/common/timer.h [] []
/src/open62541/tests/testing-plugins/test_helpers.c [] []
/src/open62541/tests/pubsub/check_pubsub_informationmodel.c [] []
/src/open62541/examples/server_repeated_job.c [] []
/src/open62541/tests/check_eventloop_interrupt.c [] []
/src/open62541/deps/cj5.c [] []
/src/open62541/arch/posix/eventloop_posix_eth.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/client/value_utils_mock.cpp [] []
/src/open62541/tests/server/check_local_monitored_item.c [] []
/src/open62541/src/ua_types_encoding_json.h [] []
/src/open62541/tests/server/check_server_callbacks.c [] []
/src/open62541/src/client/ua_client.c [] []
/src/open62541/src/server/ua_server_ns0_gds.c [] []
/src/open62541/tests/server/check_server_asyncop.c [] []
/src/open62541/src/util/ua_eventfilter_parser.c [] []
/src/open62541/deps/nodesetLoader/src/AliasList.c [] []
/src/open62541/tests/server/check_services_attributes_all.c [] []
/src/open62541/src/pubsub/ua_pubsub_networkmessage_json.c [] []
/src/open62541/tests/interop/check_interop_client.c [] []
/src/open62541/examples/tutorial_server_method_async.c [] []
/src/open62541/examples/tutorial_server_monitoreditems.c [] []
/src/open62541_15/plugins/ua_config_json.c ['fuzz_config_json'] []
/src/open62541/src/server/ua_discovery.c [] []
/src/open62541_15/tests/server/check_server_alarmsconditions.c [] []
/src/open62541/deps/nodesetLoader/src/CharAllocator.c [] []
/src/open62541/tests/server/check_server_client_readwrite.c [] []
/src/open62541/src/pubsub/ua_pubsub_config.c [] []
/src/open62541/deps/mdnsd/libmdnsd/log.c [] []
/src/open62541/plugins/crypto/ua_securitypolicy_filestore.c [] []
/src/open62541_15/plugins/crypto/mbedtls/securitypolicy_aes256sha256rsapss.c [] []
/src/open62541/src/server/ua_server_utils.c [] []
/src/open62541/plugins/ua_log_syslog.c [] []
/src/open62541/tests/check_dtoa.c [] []
/src/open62541/tests/check_types_order_struct.c [] []
/src/open62541/plugins/crypto/openssl/certificategroup.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/dataTypeImport/compareDITypes.c [] []
/src/open62541/deps/mqtt-c/src/mqtt.c [] []
/src/open62541/src/server/ua_services_subscription.c [] []
/src/open62541/src/ua_types_encoding_binary.h [] []
/src/open62541/tests/server/check_nodestore.c [] []
/src/open62541/deps/mdnsd/lib/pidfile.c [] []
/src/open62541/include/open62541/server.h [] []
/src/open62541/deps/yxml.c [] []
/src/open62541/tests/check_encoding_roundtrip.c [] []
/src/open62541/deps/mdnsd/src/queue.h [] []
/src/open62541/tests/server/check_subscription_events.c [] []
/src/open62541/plugins/crypto/ua_certificategroup_none.c [] []
/src/open62541/arch/common/eventloop_mqtt.c [] []
/src/open62541/tests/server/check_server_historical_data_circular.c [] []
/src/open62541/arch/lwip/eventloop_lwip.h [] []
/src/open62541/tests/check_utils_trustlist_path.c [] []
/src/open62541_15/tests/fuzz/fuzz_binary_message.cc [] []
/src/open62541/tests/server/check_services_subscriptions_modify.c [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_basic256.c [] []
/src/open62541/src/pubsub/ua_pubsub_writergroup.c [] []
/src/open62541/include/open62541/plugin/log.h [] []
/src/open62541/deps/nodesetLoader/src/Node.c [] []
/src/open62541/examples/client_async.c [] []
/src/open62541/examples/client_method_async.c [] []
/src/open62541_15/src/server/ua_server.c ['fuzz_eventfilter_parse', 'fuzz_server_services', 'fuzz_parse_string', 'fuzz_config_json', 'fuzz_attributeoperand', 'fuzz_tcp_message', 'fuzz_binary_message'] []
/src/open62541/deps/mdnsd/src/netlink.c [] []
/src/open62541/include/open62541/client_highlevel_async.h [] []
/src/open62541/tests/encryption/check_encryption_ecc.c [] []
/src/open62541/src/client/ua_client_connect.c [] []
/src/open62541_15/plugins/crypto/openssl/securitypolicy_basic256.c [] []
/src/open62541/src/ua_securechannel.c [] []
/src/open62541/src/server/ua_discovery_mdns_avahi.c [] []
/src/open62541/tests/client/check_client_json_config.c [] []
/src/open62541/tests/check_kvm_utils.c [] []
/src/open62541/src/client/ua_client_highlevel.c [] []
/src/open62541/plugins/ua_config_default.c [] []
/src/open62541/tests/pubsub/check_pubsub_udp_unicast.c [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_aes128sha256rsaoaep.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_aes256sha256rsapss.c [] []
/src/open62541/tests/pubsub/check_pubsub_sks_pull.c [] []
/src/open62541/src/server/ua_server_async.c [] []
/src/open62541/tests/check_mp_printf.c [] []
/src/open62541/plugins/crypto/mbedtls/certificategroup.c [] []
/src/open62541/plugins/ua_nodesetloader.c [] []
/src/open62541/plugins/crypto/ua_filestore_common.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_common.h [] []
/src/open62541/tests/fuzz/fuzz_json_decode_encode.cc ['fuzz_json_decode_encode'] ['fuzz_json_decode_encode']
/src/open62541/arch/zephyr/eventloop_zephyr.h [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_basic256sha256.c [] []
/src/open62541/include/open62541/util.h [] []
/src/open62541/tests/client/check_client.c [] []
/src/open62541/tests/fuzz/corpus_generator.c [] []
/src/open62541/tests/server/check_accesscontrol.c [] []
/src/open62541/tests/check_types_builtin.c [] []
/src/open62541/src/server/ua_services_session.c [] []
/src/open62541/tests/pubsub/check_pubsub_publish.c [] []
/src/open62541/src/util/ua_util.c [] []
/src/open62541/tests/fuzz/ua_debug_dump_pkgs_file.c [] []
/src/open62541/src/pubsub/ua_pubsub_readergroup.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/client/operator_ov.cpp [] []
/src/open62541/tests/server/check_monitoreditem_filter.c [] []
/src/open62541/tests/pubsub/check_pubsub_decryption.c [] []
/src/open62541/plugins/crypto/pkcs11/securitypolicy_pubsub_aes256ctr_tpm.c [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_aes256sha256rsapss.c [] []
/src/open62541/tests/server/check_services_subscriptions.c [] []
/src/open62541/src/server/ua_session.h [] []
/src/open62541/deps/mdnsd/src/addr.c [] []
/src/open62541/src/server/ua_services_nodemanagement.c [] []
/src/open62541/tests/check_types_custom.c [] []
/src/open62541/tests/pubsub/check_pubsub_sks_push.c [] []
/src/open62541/deps/tr_dirent.h [] []
/src/open62541_15/src/server/ua_server_binary.c ['fuzz_server_services', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_binary_message'] []
/src/open62541/deps/mdnsd/libmdnsd/1035.c [] []
/src/open62541/tests/check_yxml.c [] []
/src/open62541/tests/fuzz/fuzz_eventfilter_parse.cc ['fuzz_eventfilter_parse'] ['fuzz_eventfilter_parse']
/src/open62541/examples/tutorial_server_variable.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/examples/iterate.c [] []
/src/open62541/tests/check_types_copy_complex.c [] []
/src/open62541/tests/check_base64.c [] []
/src/open62541/tests/check_utils.c [] []
/src/open62541/tests/pubsub/check_pubsub_connection_mqtt.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_ecccurve448.c [] []
/src/open62541/tests/fuzz/fuzz_xml_decode_encode.cc ['fuzz_xml_decode_encode'] ['fuzz_xml_decode_encode']
/src/open62541_15/tests/client/check_client_async_read.c [] []
/src/open62541/arch/lwip/eventloop_lwip_tcp.c [] []
/src/open62541/tests/server/check_server_rbac_client.c [] []
/src/open62541/tests/server/check_server.c [] []
/src/open62541_15/src/client/ua_client.c ['fuzz_client', 'fuzz_server_services', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_binary_message'] []
/src/open62541/deps/ziptree.c [] []
/src/open62541/tests/check_types_builtin_xml.c [] []
/src/open62541/tests/testing-plugins/testing_policy.c [] []
/src/open62541/tests/check_pcg_basic.c [] []
/src/open62541/include/open62541/server_pubsub.h [] []
/src/open62541_15/src/server/ua_services_monitoreditem.c ['fuzz_server_services'] []
/src/open62541/deps/nodesetLoader/backends/open62541/examples/dataTypeImport.c [] []
/src/open62541/examples/pubsub/sks/pubsub_publish_encrypted_sks.c [] []
/src/open62541/tests/fuzz/fuzz_client.cc ['fuzz_client'] ['fuzz_client']
/src/open62541_15/plugins/crypto/openssl/securitypolicy_aes128sha256rsaoaep.c [] []
/src/open62541/arch/lwip/eventloop_lwip.c [] []
/src/open62541/tests/encryption/check_ca_chain.c [] []
/src/open62541/deps/mqtt-c/examples/templates/bio_sockets.h [] []
/src/open62541/arch/posix/eventloop_posix_udp.c [] []
/src/open62541/tests/pubsub/check_pubsub_sks_securitygroups.c [] []
/src/open62541/src/ua_types.c [] []
/src/open62541/tests/check_client_highlevel_write.c [] []
/src/open62541/examples/nodeset/server_testnodeset.c [] []
/src/open62541/arch/common/timer.c [] []
/src/open62541/plugins/ua_config_json.c [] []
/src/open62541/examples/custom_datatype/custom_datatype.h [] []
/src/open62541/tests/fuzz/fuzz_pubsub_json.cc ['fuzz_pubsub_json'] ['fuzz_pubsub_json']
/src/open62541/deps/mqtt-c/tests.c [] []
/src/open62541/deps/mqtt-c/examples/templates/bearssl_sockets.h [] []
/src/open62541/deps/pcg_basic.c [] []
/src/open62541/tests/multithreading/check_mt_addObjectNode.c [] []
/src/open62541/tests/nodeset-compiler/check_client_get_remote_datatypes.c [] []
/src/open62541_15/plugins/crypto/mbedtls/securitypolicy_basic256.c [] []
/src/open62541/arch/posix/eventloop_posix.h [] []
/src/open62541/tests/encryption/check_cert_validation_client_response.c [] []
/src/open62541/tests/testing-plugins/testing_policy.h [] []
/src/open62541/tests/fuzz/custom_memory_manager.c [] []
/src/open62541/deps/mdnsd/lib/strlcpy.c [] []
/src/open62541/arch/common/eventloop_common.c [] []
/src/open62541/tests/fuzz/fuzz_src_ua_util.cc ['fuzz_src_ua_util'] ['fuzz_src_ua_util']
/src/open62541/deps/mdnsd/libmdnsd/sdtxt.c [] []
/src/open62541/tests/server/check_server_speed_addnodes.c [] []
/src/open62541/deps/base64.c [] []
/src/open62541/deps/open62541_queue.h [] []
/src/open62541/src/pubsub/ua_pubsub_internal.h [] []
/src/open62541/examples/pubsub/server_pubsub_publisher_on_demand.c [] []
/src/open62541/deps/ua-nodeset/AnsiC/opcua_types.c [] []
/src/open62541_15/plugins/crypto/mbedtls/securitypolicy_basic128rsa15.c [] []
/src/open62541/deps/ziptree.h [] []
/src/open62541/plugins/ua_log_stdout.c [] []
/src/open62541/tests/fuzz/fuzz_server_services.cc ['fuzz_server_services'] ['fuzz_server_services']
/src/open62541/examples/events/server_random_events.c [] []
/src/open62541/src/server/ua_session.c [] []
/src/open62541/deps/mdnsd/lib/utimensat.c [] []
/src/open62541/examples/discovery/server_multicast.c [] []
/src/open62541/src/server/ua_server_ns0_rbac.c [] []
/src/open62541/plugins/historydata/ua_history_data_gathering_default.c [] []
/src/open62541/tests/server/check_server_reverseconnect.c [] []
/src/open62541_15/plugins/crypto/openssl/securitypolicy_aes256sha256rsapss.c [] []
/src/open62541/tests/check_types_builtin_binary.c [] []
/src/open62541_15/tests/encryption/check_encryption_basic256sha256_with_config.c [] []
/src/open62541/tests/server/check_session.c [] []
/src/open62541/include/open62541/types.h [] []
/src/open62541/plugins/ua_debug_dump_pkgs.c [] []
/src/open62541/tests/check_eventloop_tcp.c [] []
/src/open62541/deps/ua-nodeset/AnsiC/opcua_clientapi.c [] []
/src/open62541/tests/check_ziptree.c [] []
/src/open62541/tests/multithreading/check_mt_readWriteDeleteCallback.c [] []
/src/open62541/src/server/ua_services_method.c [] []
/src/open62541/tests/encryption/check_gds_informationmodel.c [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_common.c [] []
/src/open62541/tests/check_client_highlevel_read.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/testHelper.h [] []
/src/open62541/examples/ci_server.c [] []
/src/open62541/tests/multithreading/check_mt_readValueAttribute.c [] []
/src/open62541/include/open62541/plugin/nodestore.h [] []
/src/open62541/src/util/ua_types_lex.c [] []
/src/open62541/plugins/ua_nodestore_ziptree.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_aes128sha256rsaoaep.c [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_basic128rsa15.c [] []
/src/open62541/src/pubsub/ua_pubsub_reader.c [] []
/src/open62541/arch/posix/eventloop_posix_tcp.c [] []
/src/open62541/examples/tutorial_server_object.c [] []
/src/open62541/examples/events/client_filter_queries.c [] []
/src/open62541/tests/server/check_node_inheritance.c [] []
/src/open62541/src/pubsub/ua_pubsub_ns0_sks.c [] []
/src/open62541/tests/pubsub/check_pubsub_sks_keystorage.c [] []
/src/open62541/src/pubsub/ua_pubsub_keystorage.c [] []
/src/open62541/src/server/ua_subscription_event.c [] []
/src/open62541/tests/testing-plugins/testing_networklayers.c [] []
/src/open62541/deps/utf8.h [] []
/src/open62541/tests/server/check_server_ns0_diagnostics.c [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_common.h [] []
/src/open62541/deps/mdnsd/src/mdnsd.c [] []
/src/open62541/src/server/ua_server_auditing.c [] []
/src/open62541/src/server/ua_server_internal.h [] []
/src/open62541/tests/server/check_subscription_events_local.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_ecccurve25519.c [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_pubsub_aes256ctr.c [] []
/src/open62541/tests/client/check_client_async_read.c [] []
/src/open62541/src/server/ua_server_ns0_diagnostics.c [] []
/src/open62541/tests/server/check_services_attributes.c [] []
/src/open62541/tests/fuzz/fuzz_json_decode.cc ['fuzz_json_decode'] ['fuzz_json_decode']
/src/open62541/deps/nodesetLoader/tests/sort.c [] []
/src/open62541/tests/server/check_services_nodemanagement_callbacks.c [] []
/src/open62541/tests/pubsub/check_pubsub_subscribe_msgrcvtimeout.c [] []
/src/open62541/examples/pubsub/sks/server_pubsub_central_sks.c [] []
/src/open62541/tests/encryption/check_ecc_config.c [] []
/src/open62541/src/server/ua_server_config.c [] []
/src/open62541/deps/libc_time.c [] []
/src/open62541/tests/fuzz/fuzz_base64_encode.cc ['fuzz_base64_encode'] ['fuzz_base64_encode']
/src/open62541/tests/check_types_order.c [] []
/src/open62541/tests/server/check_server_rbac.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_eccbrainpoolp256r1.c [] []
/src/open62541/include/open62541/client_subscriptions.h [] []
/src/open62541/deps/nodesetLoader/backends/open62541/src/import.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/test_server/server.cpp [] []
/src/open62541/deps/mqtt-c/examples/templates/mbedtls_sockets.h [] []
/src/open62541/tests/client/check_client_securechannel.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_basic256sha256.c [] []
/src/open62541/deps/mdnsd/libmdnsd/xht.c [] []
/src/open62541/tests/pubsub/check_pubsub_custom_state_machine.c [] []
/src/open62541/tests/server/check_server_node_services.c [] []
/src/open62541/tests/client/check_activateSession.c [] []
/src/open62541/src/server/ua_services.c [] []
/src/open62541/deps/mdnsd/src/mquery.c [] []
/src/open62541/examples/access_control/server_access_control.c [] []
/src/open62541/tests/multithreading/check_mt_writeValueAttribute.c [] []
/src/open62541/examples/client_connect.c [] []
/src/open62541/deps/mdnsd/src/conf.c [] []
/src/open62541/tests/client/check_activateSessionAsync.c [] []
/src/open62541/src/server/ua_subscription_alarms_conditions.c [] []
/src/open62541/tests/client/check_client_async.c [] []
/src/open62541/plugins/crypto/mbedtls/create_certificate.c [] []
/src/open62541/tests/fuzz/fuzz_base64_decode.cc ['fuzz_base64_decode'] ['fuzz_base64_decode']
/src/open62541/tests/fuzz/fuzz_config_json.cc ['fuzz_config_json'] ['fuzz_config_json']
/src/open62541/src/pubsub/ua_pubsub_networkmessage_binary.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/client/client.cpp [] []
/src/open62541/src/ua_types_encoding_json.c [] []
/src/open62541/src/server/ua_subscription_datachange.c [] []
/src/open62541/deps/yxml.h [] []
/src/open62541/tests/encryption/check_server_config_default.c [] []
/src/open62541/examples/pubsub/pubsub_subscribe_standalone_dataset.c [] []
/src/open62541/tools/ua-cli/ua.c [] []
/src/open62541/tools/ua2json/ua2json.c [] []
/src/open62541/tests/check_securechannel.c [] []
/src/open62541/tests/network_replay/check_network_replay.c [] []
/src/open62541/tests/server/check_server_rbac_permissions.c [] []
/src/open62541/tests/server/check_server_jobs.c [] []
/src/open62541/tests/client/check_client_async_connect.c [] []
/src/open62541/src/client/ua_client_discovery.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/client/sort_utils.cpp [] []
/src/open62541/tests/server/check_server_json_config.c [] []
/src/open62541/src/pubsub/ua_pubsub_securitygroup.c [] []
/src/open62541/src/util/ua_encryptedsecret.c [] []
/src/open62541/tests/pubsub/check_pubsub_informationmodel_methods.c [] []
/src/open62541/deps/mdnsd/test/src/xht.c [] []
/src/open62541/tests/server/check_server_password.c [] []
/src/open62541/tests/encryption/check_encryption_eccnistp256.c [] []
/src/open62541/tests/fuzz/fuzz_mdns_xht.cc ['fuzz_mdns_xht'] ['fuzz_mdns_xht']
/src/open62541/tests/fuzz/fuzz_pubsub_connection_config.cc ['fuzz_pubsub_connection_config'] ['fuzz_pubsub_connection_config']
/src/open62541/src/server/ua_server_ns0.c [] []
/src/open62541/tests/server/check_discovery.c [] []
/src/open62541/src/client/ua_client_internal.h [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/client/browse_utils.cpp [] []
/src/open62541/examples/pubsub/server_pubsub_publisher_iop.c [] []
/src/open62541/src/server/ua_subscription.h [] []
/src/open62541/examples/tutorial_server_datasource.c [] []
/src/open62541/tests/multithreading/check_mt_addDeleteObject.c [] []
/src/open62541/examples/common.h [] []
/src/open62541/tests/server/check_subscription_event_filter.c [] []
/src/open62541/plugins/ua_accesscontrol_default.c [] []
/src/open62541/src/util/ua_util_internal.h [] []
/src/open62541/deps/mqtt-c/examples/reconnect_subscriber.c [] []
/src/open62541/tests/check_parse_num.c [] []
/src/open62541/examples/tutorial_server_reverseconnect.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/src/DataTypeImporter.c [] []
/src/open62541/plugins/crypto/pkcs11/securitypolicy_pubsub_aes128ctr_tpm.c [] []
/src/open62541/deps/mqtt-c/src/mqtt_pal.c [] []
/src/open62541/examples/pubsub_realtime/server_pubsub_subscribe_rt_state_machine.c [] []
/src/open62541/src/util/ua_eventfilter_lex.c [] []
/src/open62541/examples/tutorial_client_events.c [] []
/src/open62541/tests/server/check_server_monitoringspeed.c [] []
/src/open62541/examples/custom_datatype/server_types_custom.c [] []
/src/open62541/tests/server/check_server_readwrite.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_common.c [] []
/src/open62541/arch/zephyr/eventloop_zephyr.c [] []
/src/open62541/tests/server/check_server_rbac_interlocked.c [] []
/src/open62541/tests/check_chunking.c [] []
/src/open62541/examples/tutorial_server_alarms_conditions.c [] []
/src/open62541/tests/server/check_server_attr_wrappers.c [] []
/src/open62541/src/pubsub/ua_pubsub_manager.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_basic256.c [] []
/src/open62541/examples/discovery/server_register.c [] []
/src/open62541/examples/tutorial_server_events.c [] []
/src/open62541/plugins/crypto/ua_securitypolicy_none.c [] []
/src/open62541/src/pubsub/ua_pubsub_ns0.c [] []
/src/open62541/tests/check_libc_time.c [] []
/src/open62541_15/src/ua_types_encoding_json.c [] []
/src/open62541/tests/check_types_builtin_variant.c [] []
/src/open62541/tests/fuzz/fuzz_mdns_message.cc ['fuzz_mdns_message'] ['fuzz_mdns_message']
/src/open62541/tests/client/check_client_highlevel_readwrite.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_eccnistp384.c [] []
/src/open62541/deps/mqtt-c/include/mqtt.h [] []
/src/open62541/tests/fuzz/fuzz_binary_decode.cc ['fuzz_binary_decode'] ['fuzz_binary_decode']
/src/open62541/tests/fuzz/fuzz_parse_string.cc ['fuzz_parse_string'] ['fuzz_parse_string']
/src/open62541/tests/pubsub/check_pubsub_sks_client.c [] []
/src/open62541/deps/mp_printf.c [] []
/src/open62541/tests/check_cj5.c [] []
/src/open62541/tests/testing-plugins/testing_networklayers_pcap.c [] []
/src/open62541/src/server/ua_services_monitoreditem.c [] []
/src/open62541/tests/fuzz/fuzz_pubsub_binary.cc ['fuzz_pubsub_binary'] ['fuzz_pubsub_binary']
/src/open62541/tests/pubsub/check_pubsub_subscribe.c [] []
/src/open62541/tests/nodeset-compiler/check_client_nsMapping.c [] []
/src/open62541/tests/pubsub/check_pubsub_publisherid.c [] []
/src/open62541/tests/testing-plugins/thread_wrapper.h [] []
/src/open62541/examples/pubsub_realtime/server_pubsub_publish_rt_state_machine.c [] []
/src/open62541/plugins/crypto/openssl/create_certificate.c [] []
/src/open62541/deps/ua-nodeset/AnsiC/opcua_types.h [] []
/src/open62541/src/ua_types_encoding_binary.c [] []
/src/open62541/plugins/historydata/ua_history_database_default.c [] []
/src/open62541/src/client/ua_client_util.c [] []
/src/open62541/tests/testing-plugins/testing_clock.c [] []
/src/open62541/examples/client_subscription_loop.c [] []
/src/open62541/tests/check_eventloop_udp.c [] []
/src/open62541/deps/utf8.c [] []
/src/open62541/deps/mdnsd/src/mdnsd.h [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/extension.c [] []
/src/open62541/tests/fuzz/fuzz_certificate_parse.cc ['fuzz_certificate_parse'] ['fuzz_certificate_parse']
/src/open62541/tests/pubsub/check_pubsub_encoding_json.c [] []
/src/open62541/deps/mqtt-c/include/mqtt_pal.h [] []
/src/open62541/plugins/crypto/ua_certificategroup_filestore.c [] []
/src/open62541/examples/pubsub/server_pubsub_subscribe_custom_monitoring.c [] []
/src/open62541/tests/multithreading/check_mt_addVariableTypeNode.c [] []
/src/open62541/src/server/ua_nodes.c [] []
/src/open62541/src/util/ua_eventfilter_grammar.c [] []
/src/open62541/arch/posix/eventloop_posix.c [] []
/src/open62541/tests/multithreading/check_mt_addVariableNode.c [] []
/src/open62541/src/server/ua_services_attribute.c [] []
/src/open62541/tests/multithreading/mt_testing.h [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/client/utils.cpp [] []
/src/open62541/arch/lwip/eventloop_lwip_udp.c [] []
/src/open62541/tests/server/check_services_nodemanagement.c [] []
/src/open62541/plugins/historydata/ua_history_data_backend_memory.c [] []
/src/open62541/src/server/ua_subscription.c [] []
/src/open62541/src/pubsub/ua_pubsub_writer.c [] []
/src/open62541/deps/mdnsd/libmdnsd/mdnsd.c [] []
/src/open62541/src/client/ua_client_subscriptions.c [] []
/src/open62541/tests/check_types_nodeid_copy.c [] []
/src/open62541/tests/client/check_client_subscriptions.c [] []
/src/open62541/tests/server/check_server_historical_data.c [] []
/src/open62541/examples/encryption/client_encryption_tpm_keystore.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_basic128rsa15.c [] []
/src/open62541/tools/tpm_keystore/cert_encrypt_tpm.c [] []
/src/open62541/tests/check_types_range_lookup.c [] []
/src/open62541/tests/encryption/check_encryption_key_password.c [] []
/src/open62541_15/plugins/crypto/mbedtls/securitypolicy_aes128sha256rsaoaep.c [] []
/src/open62541/tests/check_types_json_encode.c [] []
/src/open62541_15/tests/server/check_discovery.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_eccnistp256.c [] []
/src/open62541/src/ua_securechannel_crypto.c [] []
/src/open62541/tests/check_musl_inet_pton.c [] []
/src/open62541/arch/posix/eventloop_posix_interrupt.c [] []
/src/open62541/tests/check_eventloop.c [] []
/src/open62541/src/pubsub/ua_pubsub_dataset.c [] []
/src/open62541/examples/tutorial_datatypes.c [] []
/src/open62541/examples/client.c [] []
/src/open62541/arch/zephyr/eventloop_zephyr_tcp.c [] []
/src/open62541/src/server/ua_services_securechannel.c [] []
/src/open62541/tests/client/check_client_subscriptions_datachange.c [] []
/src/open62541/tests/check_utf8.c [] []
/src/open62541/tests/server/randomindextest_backend.h [] []
/src/open62541/deps/itoa.c [] []
/src/open62541/tests/fuzz/fuzz_tcp_message.cc ['fuzz_tcp_message'] ['fuzz_tcp_message']
/src/open62541/examples/tutorial_server_variabletype.c [] []
/src/open62541_15/src/server/ua_discovery.c ['fuzz_server_services', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_binary_message'] []
/src/open62541/src/ua_types_encoding_xml.c [] []
/src/open62541/tests/client/check_client_highlevel.c [] []
/src/open62541/examples/tutorial_server_method.c [] []
/src/open62541/deps/nodesetLoader/src/NodesetLoader.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/reference_server/server.cpp [] []
/src/open62541/deps/mdnsd/libmdnsd/mdnsd.h [] []
/src/open62541/examples/pubsub/sks/pubsub_subscribe_encrypted_sks.c [] []
/src/open62541/src/server/ua_server_binary.c [] []
/src/open62541/deps/nodesetLoader/backends/stdout/examples/main.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/namespaceZeroValues.c [] []
/src/open62541/deps/mqtt-c/examples/openssl_publisher.c [] []
/src/open62541/tests/server/check_services_call.c [] []
/src/open62541_15/plugins/crypto/mbedtls/securitypolicy_basic256sha256.c [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_pubsub_aes128ctr.c [] []
/src/open62541/tests/check_xml_encoding_roundtrip.c [] []
/src/open62541/deps/dtoa.c [] []
/src/open62541/tests/server/check_server_userspace.c [] []
/src/open62541/tests/client/check_client_historical_data.c [] []
/src/open62541/tests/server/check_services_view.c [] []
/src/open62541/src/server/ua_services_view.c [] []
/src/open62541/tests/client/check_client_encryption.c [] []
/src/open62541/tests/fuzz/fuzz_attributeoperand.cc ['fuzz_attributeoperand'] ['fuzz_attributeoperand']
/src/open62541/tests/server/check_server_alarmsconditions.c [] []
/src/open62541/src/server/ua_services_discovery.c [] []
/src/open62541/include/open62541/client.h [] []
/src/open62541/tests/check_util_functions.c [] []
/src/open62541/deps/nodesetLoader/src/Nodeset.c [] []
/src/open62541/examples/pubsub/server_pubsub_file_configuration.c [] []
/src/open62541/deps/mdnsd/test/src/addr_test.c [] []
/src/open62541_15/plugins/crypto/openssl/securitypolicy_basic256sha256.c [] []
/src/open62541/src/pubsub/ua_pubsub_connection.c [] []
/src/open62541_15/plugins/crypto/openssl/securitypolicy_basic128rsa15.c ['fuzz_binary_message'] []
/src/open62541/tests/server/check_server_getendpoints.c [] []
/src/open62541/tests/encryption/check_update_trustlist.c [] []
/src/open62541/deps/musl_inet_pton.c [] []
/src/open62541/src/server/ua_server.c [] []
/src/open62541_15/tests/server/check_server_asyncop.c ['fuzz_eventfilter_parse', 'fuzz_server_services', 'fuzz_parse_string', 'fuzz_config_json', 'fuzz_attributeoperand', 'fuzz_tcp_message', 'fuzz_binary_message'] []
/src/open62541/src/ua_securechannel.h [] []
/src/open62541/plugins/include/open62541/plugin/accesscontrol_default.h [] []
/src/open62541/tests/check_types_print.c [] []
/src/open62541/tests/fuzz/fuzz_binary_message.cc ['fuzz_binary_message'] ['fuzz_binary_message']
/src/open62541/src/server/ua_discovery_mdns.c [] []
/src/open62541/examples/server_inheritance.c [] []
/src/open62541/examples/client_historical.c [] []
/src/open62541/tests/encryption/check_crl_validation.c [] []
/src/open62541/src/ua_types_definition.c [] []
/src/open62541/deps/mqtt-c/examples/bearssl_publisher.c [] []
/src/open62541/arch/zephyr/clock_zephyr.c [] []

Directories in report

Directory
/src/open62541/include/open62541/
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/test_server/
/src/open62541/src/server/
/src/open62541/deps/nodesetLoader/src/
/src/open62541/plugins/crypto/
/src/open62541/tests/client/
/src/open62541/src/pubsub/
/src/open62541/examples/nodeset/
/src/open62541/tests/multithreading/
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/reference_server/
/src/open62541/arch/lwip/
/src/open62541/tests/server/
/src/open62541/deps/mqtt-c/src/
/src/open62541/examples/discovery/
/src/open62541/plugins/crypto/pkcs11/
/src/open62541_15/plugins/crypto/openssl/
/src/open62541/deps/nodesetLoader/backends/open62541/src/
/src/open62541/examples/encryption/
/src/open62541/plugins/include/open62541/plugin/
/src/open62541/examples/pubsub/sks/
/src/open62541/tests/
/src/open62541_15/tests/encryption/
/src/open62541_15/tests/server/
/src/open62541/examples/pubsub_realtime/
/src/open62541/plugins/
/src/open62541_15/src/server/
/src/open62541/tools/ua-cli/
/src/open62541/examples/access_control/
/src/open62541_15/plugins/crypto/mbedtls/
/src/open62541/deps/mqtt-c/include/
/src/open62541/plugins/crypto/mbedtls/
/src/open62541/include/open62541/plugin/
/src/open62541/deps/mqtt-c/examples/
/src/open62541/tools/ua2json/
/src/open62541/src/
/src/open62541_15/plugins/
/src/open62541/examples/
/src/open62541/deps/ua-nodeset/AnsiC/
/src/open62541_15/tests/client/
/src/open62541/tests/testing-plugins/
/src/open62541/plugins/crypto/openssl/
/src/open62541_15/src/client/
/src/open62541/tools/tpm_keystore/
/src/open62541/tests/nodeset-compiler/
/src/open62541/arch/common/
/src/open62541/deps/nodesetLoader/tests/
/src/open62541/examples/events/
/src/open62541/plugins/historydata/
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/client/
/src/open62541/tests/network_replay/
/src/open62541/examples/pubsub/
/src/open62541/tests/fuzz/
/src/open62541/deps/
/src/open62541_15/tests/fuzz/
/src/open62541/src/util/
/src/open62541/deps/mdnsd/libmdnsd/
/src/open62541/tests/interop/
/src/open62541/examples/custom_datatype/
/src/open62541/deps/nodesetLoader/backends/open62541/tests/
/src/open62541/tests/pubsub/
/src/open62541/deps/mqtt-c/examples/templates/
/src/open62541/deps/mdnsd/test/src/
/src/open62541/deps/nodesetLoader/backends/stdout/examples/
/src/open62541/arch/posix/
/src/open62541/src/client/
/src/open62541/deps/nodesetLoader/backends/open62541/tests/dataTypeImport/
/src/open62541/deps/mdnsd/src/
/src/open62541/deps/nodesetLoader/backends/open62541/examples/
/src/open62541/tests/encryption/
/src/open62541_15/src/
/src/open62541/deps/mdnsd/lib/
/src/open62541/deps/mqtt-c/
/src/open62541/arch/zephyr/

Metadata section

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

Fuzzer Calltree file Program data file Coverage file
fuzz_client fuzzerLogFile-fuzz_client.data fuzzerLogFile-fuzz_client.data.yaml fuzz_client.covreport
fuzz_certificate_parse fuzzerLogFile-fuzz_certificate_parse.data fuzzerLogFile-fuzz_certificate_parse.data.yaml fuzz_certificate_parse.covreport
fuzz_json_decode_encode fuzzerLogFile-fuzz_json_decode_encode.data fuzzerLogFile-fuzz_json_decode_encode.data.yaml fuzz_json_decode_encode.covreport
fuzz_binary_decode fuzzerLogFile-fuzz_binary_decode.data fuzzerLogFile-fuzz_binary_decode.data.yaml fuzz_binary_decode.covreport
fuzz_mdns_message fuzzerLogFile-fuzz_mdns_message.data fuzzerLogFile-fuzz_mdns_message.data.yaml fuzz_mdns_message.covreport
fuzz_base64_decode fuzzerLogFile-fuzz_base64_decode.data fuzzerLogFile-fuzz_base64_decode.data.yaml fuzz_base64_decode.covreport
fuzz_xml_decode_encode fuzzerLogFile-fuzz_xml_decode_encode.data fuzzerLogFile-fuzz_xml_decode_encode.data.yaml fuzz_xml_decode_encode.covreport
fuzz_pubsub_connection_config fuzzerLogFile-fuzz_pubsub_connection_config.data fuzzerLogFile-fuzz_pubsub_connection_config.data.yaml fuzz_pubsub_connection_config.covreport
fuzz_eventfilter_parse fuzzerLogFile-fuzz_eventfilter_parse.data fuzzerLogFile-fuzz_eventfilter_parse.data.yaml fuzz_eventfilter_parse.covreport
fuzz_pubsub_json fuzzerLogFile-fuzz_pubsub_json.data fuzzerLogFile-fuzz_pubsub_json.data.yaml fuzz_pubsub_json.covreport
fuzz_server_services fuzzerLogFile-fuzz_server_services.data fuzzerLogFile-fuzz_server_services.data.yaml fuzz_server_services.covreport
fuzz_pubsub_binary fuzzerLogFile-fuzz_pubsub_binary.data fuzzerLogFile-fuzz_pubsub_binary.data.yaml fuzz_pubsub_binary.covreport
fuzz_mdns_xht fuzzerLogFile-fuzz_mdns_xht.data fuzzerLogFile-fuzz_mdns_xht.data.yaml fuzz_mdns_xht.covreport
fuzz_json_decode fuzzerLogFile-fuzz_json_decode.data fuzzerLogFile-fuzz_json_decode.data.yaml fuzz_json_decode.covreport
fuzz_parse_string fuzzerLogFile-fuzz_parse_string.data fuzzerLogFile-fuzz_parse_string.data.yaml fuzz_parse_string.covreport
fuzz_config_json fuzzerLogFile-fuzz_config_json.data fuzzerLogFile-fuzz_config_json.data.yaml fuzz_config_json.covreport
fuzz_src_ua_util fuzzerLogFile-fuzz_src_ua_util.data fuzzerLogFile-fuzz_src_ua_util.data.yaml fuzz_src_ua_util.covreport
fuzz_attributeoperand fuzzerLogFile-fuzz_attributeoperand.data fuzzerLogFile-fuzz_attributeoperand.data.yaml fuzz_attributeoperand.covreport
fuzz_tcp_message fuzzerLogFile-fuzz_tcp_message.data fuzzerLogFile-fuzz_tcp_message.data.yaml fuzz_tcp_message.covreport
fuzz_base64_encode fuzzerLogFile-fuzz_base64_encode.data fuzzerLogFile-fuzz_base64_encode.data.yaml fuzz_base64_encode.covreport
fuzz_binary_message fuzzerLogFile-fuzz_binary_message.data fuzzerLogFile-fuzz_binary_message.data.yaml fuzz_binary_message.covreport