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_mdns_message open62541/tests/fuzz/fuzz_mdns_message.cc 51 6486 7 4 172 232 fuzz_mdns_message.cc
fuzz_certificate_parse open62541/tests/fuzz/fuzz_certificate_parse.cc 1 6519 6 5 1 0 fuzz_certificate_parse.cc
fuzz_base64_decode open62541/tests/fuzz/fuzz_base64_decode.cc 5 6516 2 2 17 23 fuzz_base64_decode.cc
fuzz_json_decode_encode open62541/tests/fuzz/fuzz_json_decode_encode.cc 28 6500 3 4 110 145 fuzz_json_decode_encode.cc
fuzz_binary_decode open62541/tests/fuzz/fuzz_binary_decode.cc 40 6491 5 4 95 88 fuzz_binary_decode.cc
fuzz_xml_decode_encode open62541/tests/fuzz/fuzz_xml_decode_encode.cc 68 6462 7 4 343 335 fuzz_xml_decode_encode.cc
fuzz_client open62541/tests/fuzz/fuzz_client.cc 270 6375 24 44 436 430 fuzz_client.cc
fuzz_pubsub_json open62541/tests/fuzz/fuzz_pubsub_json.cc 36 6494 5 7 133 179 fuzz_pubsub_json.cc
fuzz_pubsub_binary open62541/tests/fuzz/fuzz_pubsub_binary.cc 45 6486 9 6 173 169 fuzz_pubsub_binary.cc
fuzz_pubsub_connection_config open62541/tests/fuzz/fuzz_pubsub_connection_config.cc 24 6504 5 6 38 27 fuzz_pubsub_connection_config.cc
fuzz_server_services open62541/tests/fuzz/fuzz_server_services.cc 870 5948 37 82 2217 2474 fuzz_server_services.cc
fuzz_eventfilter_parse open62541/tests/fuzz/fuzz_eventfilter_parse.cc 286 6319 20 23 6670 3102 fuzz_eventfilter_parse.cc
fuzz_json_decode open62541/tests/fuzz/fuzz_json_decode.cc 18 6505 3 4 90 127 fuzz_json_decode.cc
fuzz_config_json open62541/tests/fuzz/fuzz_config_json.cc 669 6070 38 77 1750 1878 fuzz_config_json.cc
fuzz_tcp_message open62541/tests/fuzz/fuzz_tcp_message.cc 635 6090 37 76 1584 1686 fuzz_tcp_message.cc
fuzz_parse_string open62541/tests/fuzz/fuzz_parse_string.cc 240 6346 16 21 932 1004 fuzz_parse_string.cc
fuzz_attributeoperand open62541/tests/fuzz/fuzz_attributeoperand.cc 222 6358 18 20 760 838 fuzz_attributeoperand.cc
fuzz_base64_encode open62541/tests/fuzz/fuzz_base64_encode.cc 5 6516 2 2 10 8 fuzz_base64_encode.cc
fuzz_src_ua_util open62541/tests/fuzz/fuzz_src_ua_util.cc 12 6512 5 4 49 64 fuzz_src_ua_util.cc
fuzz_binary_message open62541/tests/fuzz/fuzz_binary_message.cc 752 6001 37 80 1987 2148 fuzz_binary_message.cc
fuzz_mdns_xht open62541/tests/fuzz/fuzz_mdns_xht.cc 19 6510 5 3 34 45 fuzz_mdns_xht.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_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_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 8 24.2%
gold [1:9] 7 21.2%
yellow [10:29] 4 12.1%
greenyellow [30:49] 1 3.03%
lawngreen 50+ 13 39.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
1 1 LLVMFuzzerTestOneInput call site: 00001
1 12 UA_mbedTLS_LoadDerCertificate call site: 00012 UA_mbedTLS_LoadPemCertificate
1 14 UA_mbedTLS_LoadPemCertificate call site: 00014

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_base64_decode

Call tree

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

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 0 0.0%
gold [1:9] 0 0.0%
yellow [10:29] 1 16.6%
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_json_decode_encode

Call tree

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

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 12 27.2%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 32 72.7%
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 25 LLVMFuzzerTestOneInput call site: 00025
1 16 UA_ByteString_allocBuffer call site: 00016
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 12 15.5%
gold [1:9] 2 2.59%
yellow [10:29] 1 1.29%
greenyellow [30:49] 1 1.29%
lawngreen 50+ 61 79.2%
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 39 LLVMFuzzerTestOneInput call site: 00039 UA_calcSizeBinary
1 1 LLVMFuzzerTestOneInput call site: 00001
1 12 UA_clear call site: 00012
1 37 UA_ByteString_allocBuffer call site: 00037 UA_delete
1 42 UA_encodeBinary call site: 00042
1 64 copySubString call site: 00064 UA_Variant_copyRange
1 69 UA_Variant_copyRange call site: 00069 Variant_clear
1 73 UA_DataValue_copyRange call site: 00073 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_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 17 8.01%
gold [1:9] 1 0.47%
yellow [10:29] 3 1.41%
greenyellow [30:49] 2 0.94%
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 163 xml_tokenize call site: 00163 yxml_eof
2 168 UA_decodeXml call site: 00168 UA_STRING
2 185 LLVMFuzzerTestOneInput call site: 00185 UA_calcSizeXml
2 193 LLVMFuzzerTestOneInput call site: 00193
1 9 xml_tokenize call site: 00009
1 172 UA_decodeXml call site: 00172
1 183 UA_ByteString_allocBuffer call site: 00183
1 188 UA_encodeXml call site: 00188

Runtime coverage analysis

Covered functions
165
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_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 1404 90.0%
gold [1:9] 0 0.0%
yellow [10:29] 118 7.56%
greenyellow [30:49] 16 1.02%
lawngreen 50+ 21 1.34%
All colors 1559 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 649 UA_SecureChannel_clear call site: 00649 FileCertStore_setTrustList
208 208 UA_init call site: 00208 connectSync
178 1374 processServiceResponse call site: 01374 processMSGResponse
137 417 notifyClientState call site: 00417 stateCallback
126 906 UA_copy call site: 00906 TCP_openConnection
108 1036 UA_String_fromChars call site: 01036 TCP_openActiveConnection
80 38 UA_ConnectionManager_new_POSIX_TCP call site: 00038 UA_EventLoopPOSIX_start
66 558 unlockClient call site: 00558 setConnectStatus
63 1146 processDelayed call site: 01146 sendRequest
28 158 UA_mbedTLS_LoadLocalCertificate call site: 00158 UA_Client_newWithConfig
19 1226 __Client_AsyncService_removeAll call site: 01226 entry_group_callback
16 1297 UA_ClientConfig_clear call site: 01297 UA_EventLoopPOSIX_run

Runtime coverage analysis

Covered functions
98
Functions that are reachable but not covered
206
Reachable functions
270
Percentage of reachable functions covered
23.7%
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_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 10 18.5%
gold [1:9] 2 3.70%
yellow [10:29] 0 0.0%
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 UA_free
1 1 LLVMFuzzerTestOneInput call site: 00001
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_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 16 14.1%
gold [1:9] 6 5.30%
yellow [10:29] 9 7.96%
greenyellow [30:49] 4 3.53%
lawngreen 50+ 78 69.0%
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 1 LLVMFuzzerTestOneInput call site: 00001
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_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
2 27 UA_copy call site: 00027 UA_Array_delete
1 9 UA_clear call site: 00009
1 15 UA_PublisherId_copy call site: 00015
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_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 3267 71.7%
gold [1:9] 81 1.77%
yellow [10:29] 62 1.36%
greenyellow [30:49] 10 0.21%
lawngreen 50+ 1133 24.8%
All colors 4553 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
379 3953 getSessionByToken call site: 03953 UA_Client_activateSession
224 3002 UA_KeyValueRestriction_validate call site: 03002 TCP_openPassiveConnection
181 2447 UA_init call site: 02447 connectSync
177 2020 UA_Session_detachSubscription call site: 02020 encrypt
139 3805 LLVMFuzzerTestOneInput call site: 03805 Service_CreateSession
118 2883 UA_Array_resize call site: 02883 FileCertStore_setTrustList
113 3648 UA_String_format call site: 03648 UA_Discovery_addRecord
98 1627 UA_Server_init call site: 01627 UA_EventLoopPOSIX_start
95 3259 UA_Timer_clear call site: 03259 UA_Client_delete
64 2231 UA_Timer_remove call site: 02231 UA_Server_write
55 3374 UA_Subscription_delete call site: 03374 UA_Server_closeSession
51 540 Variant_clear call site: 00540 readExternalValueAttribute

Runtime coverage analysis

Covered functions
2316
Functions that are reachable but not covered
551
Reachable functions
870
Percentage of reachable functions covered
36.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_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_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 381 20.2%
gold [1:9] 15 0.79%
yellow [10:29] 30 1.59%
greenyellow [30:49] 17 0.90%
lawngreen 50+ 1443 76.5%
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
91 1368 parse_relativepathElement call site: 01368 UA_Server_readBrowseName
62 1460 UA_copy call site: 01460 readValueAttributeComplete
38 1605 UA_QualifiedName_parseEx call site: 01605 UA_DataType_toStructureDescription
27 1535 Variant_clear call site: 01535 readExternalValueAttribute
27 1644 UA_ExtensionObject_setValue call site: 01644 isNullableDataType
26 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_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_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 2589 71.8%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1012 28.1%
All colors 3601 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
247 2471 UA_mbedTLS_LoadLocalCertificate call site: 02471 UA_Client_newWithConfig
243 3076 UA_KeyValueRestriction_validate call site: 03076 TCP_openPassiveConnection
236 2839 format_string_loop call site: 02839 FileCertStore_setTrustList
177 2094 UA_Session_detachSubscription call site: 02094 encrypt
98 1701 UA_Server_init call site: 01701 UA_EventLoopPOSIX_start
95 3333 UA_Timer_clear call site: 03333 UA_Client_delete
79 2290 UA_Subscription_delete call site: 02290 UA_Server_write
55 3448 UA_Subscription_delete call site: 03448 UA_Server_closeSession
53 36 utf8_from_codepoint call site: 00036 UA_ServerConfig_clear
52 613 Variant_clear call site: 00613 readExternalValueAttribute
51 2741 UA_EventLoopPOSIX_start call site: 02741 FileCertStore_verifyCertificate
49 666 stringOrder call site: 00666 UA_DataType_toDescription

Runtime coverage analysis

Covered functions
2182
Functions that are reachable but not covered
393
Reachable functions
669
Percentage of reachable functions covered
41.26%
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_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 2495 68.5%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1143 31.4%
All colors 3638 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
150 2483 UA_SecureChannel_shutdown call site: 02483 stateCallback
121 2062 UA_encodeBinaryInternal call site: 02062 encrypt
99 2887 UA_Array_resize call site: 02887 FileCertStore_setTrustList
98 1632 UA_Server_init call site: 01632 UA_EventLoopPOSIX_start
95 3264 UA_Timer_clear call site: 03264 UA_Client_delete
79 3152 TCP_openConnection call site: 03152 UA_Client_clear
65 2819 format_string_loop call site: 02819 UA_NodeId_print
64 2236 UA_Timer_remove call site: 02236 UA_Server_write
55 3379 UA_Subscription_delete call site: 03379 UA_Server_closeSession
49 544 Variant_clear call site: 00544 readExternalValueAttribute
49 597 stringOrder call site: 00597 UA_DataType_toDescription
47 1933 UA_Server_addMethodNodeEx_finish call site: 01933 addMethodNode

Runtime coverage analysis

Covered functions
2346
Functions that are reachable but not covered
364
Reachable functions
635
Percentage of reachable functions covered
42.68%
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_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 402 57.1%
gold [1:9] 110 15.6%
yellow [10:29] 29 4.12%
greenyellow [30:49] 32 4.55%
lawngreen 50+ 130 18.4%
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
91 248 parse_relativepathElement call site: 00248 UA_Server_readBrowseName
71 483 UA_STRING call site: 00483 UA_DataType_toStructureDescription
69 342 UA_clear call site: 00342 readValueAttributeComplete
36 446 UA_Array_copy call site: 00446 UA_DataType_toDescription
32 575 UA_String_append call site: 00575 getRefTypeBrowseName
30 413 UA_Array_delete call site: 00413 readExternalValueAttribute
14 610 UA_String_escapeInsert call site: 00610 UA_String_escapeInsert
9 46 parse_nodeid call site: 00046 UA_String_unescape
7 639 printRelativePath call site: 00639 UA_String_escapeAppend
5 196 parse_expandednodeid call site: 00196 UA_readNumber
5 628 UA_String_escapeAppend call site: 00628 UA_String_escapeInsert
4 555 lookupRefType call site: 00555 UA_Array_delete

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_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 364 63.6%
gold [1:9] 5 0.87%
yellow [10:29] 14 2.44%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 189 33.0%
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
91 132 parse_relativepathElement call site: 00132 UA_Server_readBrowseName
74 370 UA_STRING call site: 00370 UA_DataType_toStructureDescription
66 226 UA_clear call site: 00226 readValueAttributeComplete
30 300 UA_Array_delete call site: 00300 readExternalValueAttribute
27 333 UA_Array_copy call site: 00333 UA_findDataTypeWithCustom
8 361 stringOrder call site: 00361 UA_DataType_toDescription
7 480 nodeId_printEscape call site: 00480 UA_String_escapeInsert
7 536 printRelativePath call site: 00536 UA_String_escapeAppend
6 75 parse_nodeid_body call site: 00075 UA_readNumberWithBase
6 467 nodeId_printEscape call site: 00467 UA_String_escapedSize
5 59 UA_String_unescape call site: 00059 UA_NamespaceMapping_uri2Index
5 552 UA_AttributeOperand_print call site: 00552 moveTmpToOut

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_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_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] 1 5.55%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 15 83.3%
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_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 3046 75.3%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 999 24.6%
All colors 4045 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 3674 UDP_checkStopped call site: 03674 processSecureChannelMessage
247 2398 UA_mbedTLS_LoadLocalCertificate call site: 02398 UA_Client_newWithConfig
243 3003 UA_KeyValueRestriction_validate call site: 03003 TCP_openPassiveConnection
236 2766 format_string_loop call site: 02766 FileCertStore_setTrustList
177 2021 UA_Session_detachSubscription call site: 02021 encrypt
133 3539 LLVMFuzzerTestOneInput call site: 03539 serverNetworkCallbackLocked
98 1628 UA_Server_init call site: 01628 UA_EventLoopPOSIX_start
95 3260 UA_Timer_clear call site: 03260 UA_Client_delete
79 2217 UA_Subscription_delete call site: 02217 UA_Server_write
55 3375 UA_Subscription_delete call site: 03375 UA_Server_closeSession
52 540 Variant_clear call site: 00540 readExternalValueAttribute
51 2668 UA_EventLoopPOSIX_start call site: 02668 FileCertStore_verifyCertificate

Runtime coverage analysis

Covered functions
2150
Functions that are reachable but not covered
497
Reachable functions
752
Percentage of reachable functions covered
33.91%
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 90
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

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

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*'] 26 0 10 3 2 593 0 2102 565
UA_Server_triggerWriterGroupPublish /src/open62541/src/pubsub/ua_pubsub_writergroup.c 2 ['UA_Server*', 'UA_NodeId'] 16 0 11 3 2 253 1 986 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 370 1 1340 308

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

Functions statically reachable by fuzzers
18.0%
1169 / 6519
Cyclomatic complexity statically reachable by fuzzers
39.0%
7987 / 20370

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_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_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', 'LLVMFuzzerTestOneInput', 'UA_mbedTLS_LoadDerCertificate']

open62541/tests/fuzz/fuzz_base64_decode.cc

Dictionary

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


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

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', 'xml_tokenize', 'UA_decodeXml', 'UA_ByteString_allocBuffer', 'UA_encodeXml']

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', 'processServiceResponse', 'notifyClientState', 'UA_copy', 'UA_String_fromChars', 'UA_ConnectionManager_new_POSIX_TCP', 'unlockClient', 'processDelayed', 'UA_mbedTLS_LoadLocalCertificate']

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', 'LLVMFuzzerTestOneInput', 'UA_NetworkMessage_decodeJson']

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', 'LLVMFuzzerTestOneInput', 'UA_ByteString_allocBuffer']

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_copy', 'UA_clear', 'UA_PublisherId_copy', 'UA_Array_delete', 'UA_PubSubConnectionConfig_clear']

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_init', 'UA_Session_detachSubscription', 'LLVMFuzzerTestOneInput', 'UA_Array_resize', 'UA_String_format', 'UA_Server_init', 'UA_Timer_clear', 'UA_Timer_remove']

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=['parse_relativepathElement', 'UA_copy', 'UA_QualifiedName_parseEx', 'Variant_clear', 'UA_ExtensionObject_setValue', 'UA_Array_copy', 'stringOrder', 'UA_EventFilterParse', 'UA_EventFilter_skip', 'UA_Array_new']

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_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_mbedTLS_LoadLocalCertificate', 'UA_KeyValueRestriction_validate', 'format_string_loop', 'UA_Session_detachSubscription', 'UA_Server_init', 'UA_Timer_clear', 'UA_Subscription_delete', 'utf8_from_codepoint', 'Variant_clear']

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_encodeBinaryInternal', 'UA_Array_resize', 'UA_Server_init', 'UA_Timer_clear', 'TCP_openConnection', 'format_string_loop', 'UA_Timer_remove', 'UA_Subscription_delete', 'Variant_clear']

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=['parse_relativepathElement', 'UA_STRING', 'UA_clear', 'UA_Array_copy', 'UA_String_append', 'UA_Array_delete', 'UA_String_escapeInsert', 'parse_nodeid', 'printRelativePath', 'parse_expandednodeid']

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=['parse_relativepathElement', 'UA_STRING', 'UA_clear', 'UA_Array_delete', 'UA_Array_copy', 'stringOrder', 'nodeId_printEscape', 'printRelativePath', 'parse_nodeid_body']

open62541/tests/fuzz/fuzz_base64_encode.cc

Dictionary

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


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_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_mbedTLS_LoadLocalCertificate', 'UA_KeyValueRestriction_validate', 'format_string_loop', 'UA_Session_detachSubscription', 'LLVMFuzzerTestOneInput', 'UA_Server_init', 'UA_Timer_clear', 'UA_Subscription_delete']

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']

Runtime coverage analysis

This section shows analysis of runtime coverage data.

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

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
mdnsd_in 96 8 8.333% ['fuzz_mdns_message']
UA_encodeJson 35 18 51.42% ['fuzz_json_decode_encode']
ExtensionObject_encodeJson 36 3 8.333%
DiagnosticInfo_encodeJson 33 11 33.33%
clearStructure 35 19 54.28% ['fuzz_config_json', 'fuzz_json_decode', 'fuzz_binary_decode', 'fuzz_client', 'fuzz_attributeoperand', 'fuzz_tcp_message', 'fuzz_parse_string', 'fuzz_xml_decode_encode', 'fuzz_pubsub_connection_config', 'fuzz_pubsub_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_eventfilter_parse', 'fuzz_pubsub_binary']
structureOrder 51 28 54.90% ['fuzz_attributeoperand', 'fuzz_binary_decode']
decodeMatrixVariant 36 4 11.11% ['fuzz_xml_decode_encode']
processServiceResponse 40 10 25.0% ['fuzz_client']
__Client_Service 68 8 11.76% ['fuzz_client']
UA_KeyValueRestriction_validate 35 15 42.85% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
UA_EventLoopPOSIX_start 76 37 48.68% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
openSignalPipe 33 17 51.51% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
format_string_loop 239 99 41.42% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
print_integer_finalization 51 16 31.37% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
UA_NodePointer_copy 42 11 26.19% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
UA_Node_copy 118 63 53.38% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
UA_Node_deleteReference 54 25 46.29% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
UA_Node_insertOrUpdateLocale 37 14 37.83% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
auditEvent 87 4 4.597% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
createSubscriptionObject 56 18 32.14% ['fuzz_server_services']
compatibleValue 37 10 27.02% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
readValueAttributeComplete 33 18 54.54% ['fuzz_config_json', 'fuzz_attributeoperand', 'fuzz_tcp_message', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_eventfilter_parse', 'fuzz_parse_string']
copyAttributeIntoNode 186 49 26.34% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
writeNodeValueAttribute 90 39 43.33% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
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_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
checkParentReference 63 29 46.03% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
useVariableTypeAttributes 48 20 41.66% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
typeCheckVariableNode 80 9 11.25% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
recursiveCallConstructors 91 41 45.05% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
deconstructNodeSet 38 14 36.84% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
Operation_deleteReference 55 22 40.0% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
UA_Server_addMethodNodeEx_finish 88 39 44.31% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
Service_ActivateSession_inner 184 11 5.978% ['fuzz_server_services']
Service_ModifySubscription 42 10 23.80% ['fuzz_server_services']
Operation_Browse 89 36 40.44% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
browse 48 26 54.16% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
browseWithNode 65 23 35.38% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
walkBrowsePathElement 72 31 43.05% ['fuzz_config_json', 'fuzz_server_services', 'fuzz_binary_message', 'fuzz_tcp_message']
lookupRefType 38 12 31.57% ['fuzz_attributeoperand', 'fuzz_eventfilter_parse', 'fuzz_parse_string']
PubsubConfigurationField_parseJson 32 7 21.87%
SecurityPolicyField_parseJson 41 16 39.02% ['fuzz_config_json']
TCP_registerListenSocket 167 72 43.11% ['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_server_services', 'fuzz_tcp_message']
processSecureChannelMessage 57 12 21.05% ['fuzz_binary_message', 'fuzz_tcp_message']
UA_BinaryProtocolManager_start 56 30 53.57% ['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.c [] []
/src/open62541/examples/events/server_random_events.c [] []
/src/open62541/examples/tutorial_server_events.c [] []
/src/open62541/src/server/ua_server_utils.c [] []
/src/open62541/tests/server/check_server_monitoringspeed.c [] []
/src/open62541/src/util/ua_eventfilter_grammar.c [] []
/src/open62541/examples/client_historical.c [] []
/src/open62541/src/pubsub/ua_pubsub_ns0_sks.c [] []
/src/open62541/examples/tutorial_server_variabletype.c [] []
/src/open62541/tests/check_types_nodeid_copy.c [] []
/src/open62541/tests/testing-plugins/testing_policy.c [] []
/src/open62541/deps/pcg_basic.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/client/browse_utils.cpp [] []
/src/open62541/deps/ziptree.h [] []
/src/open62541/src/server/ua_subscription_event.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/src/DataTypeImporter.c [] []
/src/open62541/deps/nodesetLoader/src/Node.c [] []
/src/open62541/tests/server/check_server_password.c [] []
/src/open62541/tests/server/check_services_subscriptions.c [] []
/src/open62541/arch/common/eventloop_mqtt.c [] []
/src/open62541/src/pubsub/ua_pubsub_readergroup.c [] []
/src/open62541/include/open62541/client.h [] []
/src/open62541/tests/pubsub/check_pubsub_informationmodel_methods.c [] []
/src/open62541/tests/server/check_server_client_readwrite.c [] []
/src/open62541/tests/check_types_builtin_variant.c [] []
/src/open62541/src/ua_types_encoding_json.c [] []
/src/open62541/deps/nodesetLoader/src/Nodeset.c [] []
/src/open62541/examples/discovery/server_register.c [] []
/src/open62541/arch/posix/eventloop_posix.h [] []
/src/open62541/tests/check_mp_printf.c [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_aes256sha256rsapss.c [] []
/src/open62541/deps/tr_dirent.h [] []
/src/open62541/tests/fuzz/fuzz_base64_decode.cc ['fuzz_base64_decode'] ['fuzz_base64_decode']
/src/open62541/tests/check_chunking.c [] []
/src/open62541/deps/ziptree.c [] []
/src/open62541/plugins/ua_config_json.c [] []
/src/open62541/plugins/crypto/mbedtls/certificategroup.c [] []
/src/open62541/src/pubsub/ua_pubsub_ns0.c [] []
/src/open62541/tests/check_types_builtin_xml.c [] []
/src/open62541/deps/mdnsd/src/conf.c [] []
/src/open62541/tests/server/check_discovery.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_basic256.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_basic256sha256.c [] []
/src/open62541_15/plugins/crypto/mbedtls/securitypolicy_aes256sha256rsapss.c [] []
/src/open62541/deps/nodesetLoader/backends/stdout/examples/main.c [] []
/src/open62541_15/plugins/crypto/openssl/securitypolicy_basic256.c [] []
/src/open62541/src/server/ua_session.c [] []
/src/open62541/arch/common/timer.c [] []
/src/open62541/tests/pubsub/check_pubsub_publisherid.c [] []
/src/open62541/tests/server/check_services_nodemanagement.c [] []
/src/open62541/tests/encryption/check_encryption_basic256sha256_with_config.c [] []
/src/open62541/plugins/crypto/openssl/certificategroup.c [] []
/src/open62541/src/ua_securechannel_crypto.c [] []
/src/open62541/tests/server/check_server_historical_data_circular.c [] []
/src/open62541/tests/server/check_server_json_config.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_eccbrainpoolp256r1.c [] []
/src/open62541/examples/events/client_filter_queries.c [] []
/src/open62541/src/util/ua_encryptedsecret.c [] []
/src/open62541/examples/pubsub/server_pubsub_publisher_on_demand.c [] []
/src/open62541/plugins/crypto/openssl/create_certificate.c [] []
/src/open62541/tests/interop/check_interop_client.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/client/operator_ov.cpp [] []
/src/open62541/deps/utf8.c [] []
/src/open62541/deps/yxml.c [] []
/src/open62541/plugins/crypto/ua_filestore_common.c [] []
/src/open62541/deps/nodesetLoader/src/CharAllocator.c [] []
/src/open62541/arch/common/eventloop_common.c [] []
/src/open62541/plugins/ua_nodestore_ziptree.c [] []
/src/open62541/tests/server/check_server_attr_wrappers.c [] []
/src/open62541/examples/pubsub/server_pubsub_subscribe_custom_monitoring.c [] []
/src/open62541/tests/server/randomindextest_backend.h [] []
/src/open62541_15/plugins/crypto/openssl/securitypolicy_basic128rsa15.c ['fuzz_binary_message'] []
/src/open62541/tests/multithreading/mt_testing.h [] []
/src/open62541/plugins/crypto/mbedtls/create_certificate.c [] []
/src/open62541/tests/fuzz/fuzz_config_json.cc ['fuzz_config_json'] ['fuzz_config_json']
/src/open62541/tests/check_types_copy_complex.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_ecccurve448.c [] []
/src/open62541/examples/client.c [] []
/src/open62541/src/pubsub/ua_pubsub_securitygroup.c [] []
/src/open62541/examples/ci_server.c [] []
/src/open62541/examples/server_repeated_job.c [] []
/src/open62541/src/ua_securechannel.h [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_aes128sha256rsaoaep.c [] []
/src/open62541/src/server/ua_nodes.c [] []
/src/open62541/tests/fuzz/corpus_generator.c [] []
/src/open62541/deps/mqtt-c/examples/templates/mbedtls_sockets.h [] []
/src/open62541/src/server/ua_services_attribute.c [] []
/src/open62541/src/client/ua_client.c [] []
/src/open62541/tests/check_types_order.c [] []
/src/open62541/deps/mdnsd/test/src/addr_test.c [] []
/src/open62541/deps/mdnsd/libmdnsd/mdnsd.h [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/dataTypeImport/compareDITypes.c [] []
/src/open62541/arch/zephyr/eventloop_zephyr.h [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/client/value_utils_mock.cpp [] []
/src/open62541/deps/mqtt-c/examples/templates/bearssl_sockets.h [] []
/src/open62541/plugins/ua_accesscontrol_default.c [] []
/src/open62541/examples/tutorial_server_datasource.c [] []
/src/open62541/tools/ua-cli/ua.c [] []
/src/open62541/tests/check_util_functions.c [] []
/src/open62541/tests/check_types_order_struct.c [] []
/src/open62541/arch/zephyr/clock_zephyr.c [] []
/src/open62541/tests/pubsub/check_pubsub_subscribe_msgrcvtimeout.c [] []
/src/open62541/deps/mqtt-c/examples/templates/bio_sockets.h [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_aes128sha256rsaoaep.c [] []
/src/open62541/arch/zephyr/eventloop_zephyr.c [] []
/src/open62541/src/ua_types_encoding_xml.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_eccnistp256.c [] []
/src/open62541/tests/check_types_builtin_binary.c [] []
/src/open62541/src/pubsub/ua_pubsub_manager.c [] []
/src/open62541_15/plugins/ua_config_json.c ['fuzz_config_json'] []
/src/open62541/plugins/crypto/pkcs11/securitypolicy_pubsub_aes256ctr_tpm.c [] []
/src/open62541/plugins/ua_debug_dump_pkgs.c [] []
/src/open62541/tests/fuzz/fuzz_arch.h [] []
/src/open62541/tests/nodeset-compiler/check_client_get_remote_datatypes.c [] []
/src/open62541/tests/server/check_subscription_events.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_eccbrainpoolp384r1.c [] []
/src/open62541/plugins/crypto/pkcs11/securitypolicy_pubsub_aes128ctr_tpm.c [] []
/src/open62541/src/server/ua_server_binary_reverse.c [] []
/src/open62541/arch/common/timer.h [] []
/src/open62541/src/pubsub/ua_pubsub_keystorage.c [] []
/src/open62541/tests/encryption/check_gds_informationmodel.c [] []
/src/open62541/tests/multithreading/check_mt_readWriteDeleteCallback.c [] []
/src/open62541/tests/pubsub/check_pubsub_custom_state_machine.c [] []
/src/open62541/src/server/ua_services_securechannel.c [] []
/src/open62541/tests/check_utils.c [] []
/src/open62541/tests/fuzz/fuzz_pubsub_connection_config.cc ['fuzz_pubsub_connection_config'] ['fuzz_pubsub_connection_config']
/src/open62541/tests/check_types_print.c [] []
/src/open62541/deps/mdnsd/lib/utimensat.c [] []
/src/open62541/tests/client/check_client_json_config.c [] []
/src/open62541/arch/posix/eventloop_posix.c [] []
/src/open62541/tests/client/check_client_securechannel.c [] []
/src/open62541/src/util/ua_eventfilter_lex.c [] []
/src/open62541/tests/check_types_builtin.c [] []
/src/open62541_15/plugins/crypto/mbedtls/securitypolicy_aes128sha256rsaoaep.c [] []
/src/open62541/deps/nodesetLoader/src/AliasList.c [] []
/src/open62541/examples/server_inheritance.c [] []
/src/open62541/tests/check_utils_trustlist_path.c [] []
/src/open62541/src/pubsub/ua_pubsub_networkmessage_binary.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/test_server/server.cpp [] []
/src/open62541/tests/multithreading/check_mt_addObjectNode.c [] []
/src/open62541/tests/fuzz/fuzz_binary_decode.cc ['fuzz_binary_decode'] ['fuzz_binary_decode']
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/reference_server/server.cpp [] []
/src/open62541/src/pubsub/ua_pubsub_networkmessage_json.c [] []
/src/open62541/examples/tutorial_server_object.c [] []
/src/open62541/tests/fuzz/fuzz_attributeoperand.cc ['fuzz_attributeoperand'] ['fuzz_attributeoperand']
/src/open62541/tests/fuzz/fuzz_client.cc ['fuzz_client'] ['fuzz_client']
/src/open62541/examples/nodeset/server_testnodeset.c [] []
/src/open62541/tests/testing-plugins/testing_policy.h [] []
/src/open62541/src/server/ua_discovery_mdns.c [] []
/src/open62541/tests/pubsub/check_pubsub_udp_unicast.c [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_basic256.c [] []
/src/open62541/examples/tutorial_server_variable.c [] []
/src/open62541/tests/check_xml_encoding_roundtrip.c [] []
/src/open62541/tests/server/check_server_rbac.c [] []
/src/open62541/plugins/historydata/ua_history_data_gathering_default.c [] []
/src/open62541/src/pubsub/ua_pubsub_dataset.c [] []
/src/open62541/arch/posix/eventloop_posix_eth.c [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_pubsub_aes128ctr.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/testHelper.h [] []
/src/open62541/tests/client/check_client_encryption.c [] []
/src/open62541/tests/encryption/check_crl_validation.c [] []
/src/open62541/tests/check_securechannel.c [] []
/src/open62541/tests/server/check_monitoreditem_filter.c [] []
/src/open62541/src/server/ua_server_ns0.c [] []
/src/open62541/tests/fuzz/fuzz_mdns_xht.cc ['fuzz_mdns_xht'] ['fuzz_mdns_xht']
/src/open62541/tests/fuzz/fuzz_mdns_message.cc ['fuzz_mdns_message'] ['fuzz_mdns_message']
/src/open62541/tests/server/check_services_attributes_all.c [] []
/src/open62541/deps/mqtt-c/tests.c [] []
/src/open62541/tests/server/check_node_inheritance.c [] []
/src/open62541/tests/pubsub/check_pubsub_sks_client.c [] []
/src/open62541/tests/encryption/check_ecc_config.c [] []
/src/open62541/src/server/ua_services_nodemanagement.c [] []
/src/open62541/deps/dtoa.c [] []
/src/open62541/include/open62541/plugin/log.h [] []
/src/open62541/src/util/ua_types_lex.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_aes256sha256rsapss.c [] []
/src/open62541/tests/fuzz/fuzz_server_services.cc ['fuzz_server_services'] ['fuzz_server_services']
/src/open62541/examples/tutorial_server_reverseconnect.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/examples/dataTypeImport.c [] []
/src/open62541/tests/client/check_client_async_connect.c [] []
/src/open62541/examples/common.h [] []
/src/open62541/deps/mqtt-c/examples/openssl_publisher.c [] []
/src/open62541/src/pubsub/ua_pubsub_internal.h [] []
/src/open62541/tests/server/check_server_rbac_client.c [] []
/src/open62541/tests/server/check_server_callbacks.c [] []
/src/open62541/tests/server/check_server_getendpoints.c [] []
/src/open62541/src/server/ua_services_session.c [] []
/src/open62541/tests/encryption/check_update_trustlist.c [] []
/src/open62541/examples/client_method_async.c [] []
/src/open62541/tests/client/check_client.c [] []
/src/open62541/tests/pubsub/check_pubsub_subscribe.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/src/import.c [] []
/src/open62541/src/server/ua_subscription_alarms_conditions.c [] []
/src/open62541/plugins/crypto/ua_securitypolicy_none.c [] []
/src/open62541/src/ua_types_encoding_json.h [] []
/src/open62541/deps/mqtt-c/src/mqtt_pal.c [] []
/src/open62541/deps/mdnsd/libmdnsd/mdnsd.c [] []
/src/open62541/src/ua_types_encoding_binary.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/examples/iterate.c [] []
/src/open62541/examples/client_subscription_loop.c [] []
/src/open62541/examples/pubsub/server_pubsub_file_configuration.c [] []
/src/open62541/src/ua_types_encoding_binary.h [] []
/src/open62541/tests/client/check_client_async.c [] []
/src/open62541/plugins/historydata/ua_history_database_default.c [] []
/src/open62541/src/server/ua_services_monitoreditem.c [] []
/src/open62541/deps/musl_inet_pton.c [] []
/src/open62541/arch/lwip/eventloop_lwip.h [] []
/src/open62541/src/server/ua_services_method.c [] []
/src/open62541/tests/fuzz/fuzz_tcp_message.cc ['fuzz_tcp_message'] ['fuzz_tcp_message']
/src/open62541/examples/tutorial_server_alarms_conditions.c [] []
/src/open62541/tests/fuzz/fuzz_src_ua_util.cc ['fuzz_src_ua_util'] ['fuzz_src_ua_util']
/src/open62541/src/client/ua_client_highlevel.c [] []
/src/open62541/arch/posix/eventloop_posix_tcp.c [] []
/src/open62541/examples/client_connect.c [] []
/src/open62541/tests/check_itoa.c [] []
/src/open62541/plugins/crypto/ua_certificategroup_filestore.c [] []
/src/open62541/src/server/ua_services_discovery.c [] []
/src/open62541/plugins/crypto/ua_securitypolicy_filestore.c [] []
/src/open62541/tests/server/check_server_userspace.c [] []
/src/open62541/tests/multithreading/check_mt_addVariableNode.c [] []
/src/open62541/deps/mdnsd/libmdnsd/1035.c [] []
/src/open62541/src/server/ua_session.h [] []
/src/open62541/tests/fuzz/fuzz_parse_string.cc ['fuzz_parse_string'] ['fuzz_parse_string']
/src/open62541/arch/posix/eventloop_posix_udp.c [] []
/src/open62541/tests/server/check_session.c [] []
/src/open62541/tests/testing-plugins/thread_wrapper.h [] []
/src/open62541/tests/check_client_highlevel_read.c [] []
/src/open62541/examples/pubsub_realtime/server_pubsub_subscribe_rt_state_machine.c [] []
/src/open62541/tests/server/check_services_call.c [] []
/src/open62541_15/plugins/crypto/mbedtls/securitypolicy_basic256.c [] []
/src/open62541/src/server/ua_server_internal.h [] []
/src/open62541/src/server/ua_server_ns0_gds.c [] []
/src/open62541/tests/check_ziptree.c [] []
/src/open62541/include/open62541/server_pubsub.h [] []
/src/open62541/deps/mdnsd/src/mdnsd.h [] []
/src/open62541/src/server/ua_services_subscription.c [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_common.h [] []
/src/open62541/tests/server/check_discovery_mdnsd.c [] []
/src/open62541/tests/pubsub/check_pubsub_sks_pull.c [] []
/src/open62541/examples/pubsub/sks/pubsub_subscribe_encrypted_sks.c [] []
/src/open62541_15/tests/client/check_client.c [] []
/src/open62541/tests/encryption/check_ca_chain.c [] []
/src/open62541/tests/fuzz/fuzz_pubsub_json.cc ['fuzz_pubsub_json'] ['fuzz_pubsub_json']
/src/open62541/tests/pubsub/check_pubsub_connection_mqtt.c [] []
/src/open62541/tests/client/check_client_historical_data.c [] []
/src/open62541/tests/check_eventloop_interrupt.c [] []
/src/open62541/tests/server/check_accesscontrol.c [] []
/src/open62541/examples/pubsub/pubsub_subscribe_standalone_dataset.c [] []
/src/open62541/tests/check_types_range_lookup.c [] []
/src/open62541/examples/pubsub/sks/server_pubsub_central_sks.c [] []
/src/open62541/deps/mdnsd/src/addr.c [] []
/src/open62541/tests/fuzz/fuzz_xml_decode_encode.cc ['fuzz_xml_decode_encode'] ['fuzz_xml_decode_encode']
/src/open62541/tests/testing-plugins/test_helpers.c [] []
/src/open62541/tests/server/check_server_jobs.c [] []
/src/open62541/tests/client/check_client_async_read.c [] []
/src/open62541/src/server/ua_services.c [] []
/src/open62541_15/tests/server/check_json_config_pki.c [] []
/src/open62541/tests/server/check_server_rbac_permissions.c [] []
/src/open62541/examples/encryption/client_encryption_tpm_keystore.c [] []
/src/open62541/tests/testing-plugins/testing_clock.c [] []
/src/open62541/tests/pubsub/check_pubsub_encoding_json.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/client/sort_utils.cpp [] []
/src/open62541/examples/pubsub_realtime/server_pubsub_publish_rt_state_machine.c [] []
/src/open62541/tests/fuzz/fuzz_json_decode_encode.cc ['fuzz_json_decode_encode'] ['fuzz_json_decode_encode']
/src/open62541/src/client/ua_client_subscriptions.c [] []
/src/open62541/examples/client_async.c [] []
/src/open62541/deps/parse_num.c [] []
/src/open62541/tests/check_kvm_utils.c [] []
/src/open62541/tests/nodeset-compiler/check_client_nsMapping.c [] []
/src/open62541/tests/server/check_server_readwrite.c [] []
/src/open62541/tests/check_cj5.c [] []
/src/open62541/examples/tutorial_server_method_async.c [] []
/src/open62541/deps/ua-nodeset/AnsiC/opcua_serverapi.c [] []
/src/open62541_15/plugins/crypto/openssl/securitypolicy_aes128sha256rsaoaep.c [] []
/src/open62541/src/server/ua_subscription_datachange.c [] []
/src/open62541/tests/fuzz/fuzz_certificate_parse.cc ['fuzz_certificate_parse'] ['fuzz_certificate_parse']
/src/open62541/examples/tutorial_server_method.c [] []
/src/open62541/include/open62541/server.h [] []
/src/open62541/src/server/ua_server_rbac.c [] []
/src/open62541/tests/pubsub/check_pubsub_informationmodel.c [] []
/src/open62541/tests/fuzz/fuzz_eventfilter_parse.cc ['fuzz_eventfilter_parse'] ['fuzz_eventfilter_parse']
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/client/utils.cpp [] []
/src/open62541/deps/libc_time.c [] []
/src/open62541_15/plugins/crypto/openssl/securitypolicy_basic256sha256.c [] []
/src/open62541/deps/mdnsd/lib/strlcpy.c [] []
/src/open62541/plugins/crypto/ua_certificategroup_none.c [] []
/src/open62541/tests/check_types_json_encode.c [] []
/src/open62541/deps/ua-nodeset/AnsiC/opcua_clientapi.c [] []
/src/open62541/tests/fuzz/fuzz_json_decode.cc ['fuzz_json_decode'] ['fuzz_json_decode']
/src/open62541/plugins/ua_log_syslog.c [] []
/src/open62541/deps/mqtt-c/include/mqtt.h [] []
/src/open62541/src/client/ua_client_internal.h [] []
/src/open62541/tests/multithreading/check_mt_addDeleteObject.c [] []
/src/open62541/deps/mdnsd/src/mcsock.c [] []
/src/open62541/arch/lwip/eventloop_lwip.c [] []
/src/open62541/tests/fuzz/fuzz_base64_encode.cc ['fuzz_base64_encode'] ['fuzz_base64_encode']
/src/open62541_15/plugins/crypto/mbedtls/securitypolicy_basic256sha256.c [] []
/src/open62541/tests/server/check_services_attributes.c [] []
/src/open62541/tests/pubsub/check_pubsub_decryption.c [] []
/src/open62541/tests/server/check_subscription_event_filter.c [] []
/src/open62541/tests/server/check_subscription_events_local.c [] []
/src/open62541/tests/fuzz/ua_debug_dump_pkgs_file.c [] []
/src/open62541/src/server/ua_server_async.c [] []
/src/open62541_15/arch/posix/eventloop_posix_interrupt.c ['fuzz_client', 'fuzz_server_services', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_binary_message'] []
/src/open62541/include/open62541/plugin/nodestore.h [] []
/src/open62541/src/client/ua_client_util.c [] []
/src/open62541/tests/server/check_server_rbac_interlocked.c [] []
/src/open62541/tests/check_eventloop.c [] []
/src/open62541/deps/mdnsd/libmdnsd/log.c [] []
/src/open62541/tests/check_pcg_basic.c [] []
/src/open62541/deps/mdnsd/src/netlink.c [] []
/src/open62541/src/ua_types.c [] []
/src/open62541/tests/server/check_local_monitored_item.c [] []
/src/open62541/deps/mqtt-c/examples/reconnect_subscriber.c [] []
/src/open62541/tests/encryption/check_server_config_default.c [] []
/src/open62541/deps/utf8.h [] []
/src/open62541/tests/fuzz/fuzz_binary_message.cc ['fuzz_binary_message'] ['fuzz_binary_message']
/src/open62541/deps/ua-nodeset/AnsiC/opcua_types.c [] []
/src/open62541/tests/multithreading/check_mt_readValueAttribute.c [] []
/src/open62541/deps/yxml.h [] []
/src/open62541/tests/testing-plugins/testing_networklayers.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/extension.c [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/namespaceZeroValues.c [] []
/src/open62541/tests/server/check_nodestore.c [] []
/src/open62541/tests/server/check_server_ns0_diagnostics.c [] []
/src/open62541/arch/posix/eventloop_posix_interrupt.c [] []
/src/open62541/src/server/ua_subscription.c [] []
/src/open62541/deps/mqtt-c/examples/bearssl_publisher.c [] []
/src/open62541/tests/multithreading/check_mt_addVariableTypeNode.c [] []
/src/open62541/tests/check_musl_inet_pton.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_common.c [] []
/src/open62541/tools/ua2json/ua2json.c [] []
/src/open62541/tests/testing-plugins/check_subtest_logging.h [] []
/src/open62541/tests/check_libc_time.c [] []
/src/open62541/tests/server/check_server_node_services.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_eccnistp384.c [] []
/src/open62541/tests/client/check_activateSessionAsync.c [] []
/src/open62541/tools/tpm_keystore/cert_encrypt_tpm.c [] []
/src/open62541/src/pubsub/ua_pubsub_writer.c [] []
/src/open62541/plugins/ua_config_default.c [] []
/src/open62541/src/server/ua_services_view.c [] []
/src/open62541/include/open62541/types.h [] []
/src/open62541/src/server/ua_server_binary.c [] []
/src/open62541/deps/mdnsd/src/queue.h [] []
/src/open62541/tests/check_eventloop_tcp.c [] []
/src/open62541/deps/nodesetLoader/tests/sort.c [] []
/src/open62541/tests/check_dtoa.c [] []
/src/open62541/arch/lwip/eventloop_lwip_tcp.c [] []
/src/open62541_15/plugins/crypto/mbedtls/securitypolicy_basic128rsa15.c [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_basic128rsa15.c [] []
/src/open62541/deps/mdnsd/libmdnsd/xht.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_basic128rsa15.c [] []
/src/open62541/include/open62541/client_subscriptions.h [] []
/src/open62541/tests/encryption/check_encryption_key_password.c [] []
/src/open62541/tests/check_parse_num.c [] []
/src/open62541/tests/server/check_server_historical_data.c [] []
/src/open62541/tests/check_encoding_roundtrip.c [] []
/src/open62541/deps/mdnsd/test/src/xht.c [] []
/src/open62541/include/open62541/client_highlevel_async.h [] []
/src/open62541/tests/server/check_server_speed_addnodes.c [] []
/src/open62541/tests/testing-plugins/testing_networklayers_pcap.c [] []
/src/open62541/tests/server/check_services_nodemanagement_callbacks.c [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_common.c [] []
/src/open62541/tests/server/check_services_view.c [] []
/src/open62541/deps/mqtt-c/src/mqtt.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_ecccurve25519.c [] []
/src/open62541/deps/open62541_queue.h [] []
/src/open62541/tests/check_client_highlevel_write.c [] []
/src/open62541/examples/custom_datatype/custom_datatype.h [] []
/src/open62541/tests/server/check_server_asyncop.c [] []
/src/open62541/src/ua_securechannel.c [] []
/src/open62541/plugins/ua_nodesetloader.c [] []
/src/open62541/deps/mdnsd/libmdnsd/sdtxt.c [] []
/src/open62541/tests/fuzz/custom_memory_manager.c [] []
/src/open62541/tests/server/check_services_subscriptions_modify.c [] []
/src/open62541/src/server/ua_discovery_mdns_avahi.c [] []
/src/open62541/examples/discovery/server_multicast.c [] []
/src/open62541/tests/client/check_client_subscriptions.c [] []
/src/open62541/arch/zephyr/eventloop_zephyr_tcp.c [] []
/src/open62541/deps/nodesetLoader/src/NodesetLoader.c [] []
/src/open62541_15/src/server/ua_server.c ['fuzz_server_services', 'fuzz_eventfilter_parse', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_parse_string', 'fuzz_attributeoperand', 'fuzz_binary_message'] []
/src/open62541/plugins/historydata/ua_history_data_backend_memory.c [] []
/src/open62541/deps/itoa.c [] []
/src/open62541/deps/ua-nodeset/AnsiC/opcua_types.h [] []
/src/open62541/deps/cj5.c [] []
/src/open62541/deps/base64.c [] []
/src/open62541/deps/mp_printf.c [] []
/src/open62541/tests/client/check_client_highlevel.c [] []
/src/open62541/deps/mdnsd/lib/pidfile.c [] []
/src/open62541/tests/multithreading/check_mt_writeValueAttribute.c [] []
/src/open62541/tests/pubsub/check_pubsub_sks_push.c [] []
/src/open62541/tests/pubsub/check_pubsub_sks_keystorage.c [] []
/src/open62541/tests/fuzz/fuzz_pubsub_binary.cc ['fuzz_pubsub_binary'] ['fuzz_pubsub_binary']
/src/open62541/tests/network_replay/check_network_replay.c [] []
/src/open62541_15/src/server/ua_server_binary.c ['fuzz_server_services', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_binary_message'] []
/src/open62541_15/plugins/crypto/openssl/securitypolicy_aes256sha256rsapss.c [] []
/src/open62541/src/pubsub/ua_pubsub_connection.c [] []
/src/open62541/tests/pubsub/check_pubsub_publish.c [] []
/src/open62541/src/util/ua_eventfilter_parser.c [] []
/src/open62541/tests/check_base64.c [] []
/src/open62541/tests/client/check_client_highlevel_readwrite.c [] []
/src/open62541/arch/lwip/eventloop_lwip_udp.c [] []
/src/open62541/tests/check_types_custom.c [] []
/src/open62541/deps/mdnsd/src/mdnsd.c [] []
/src/open62541/src/server/ua_server_ns0_rbac.c [] []
/src/open62541/tests/pubsub/check_pubsub_sks_securitygroups.c [] []
/src/open62541/deps/mdnsd/src/mquery.c [] []
/src/open62541/examples/pubsub/server_pubsub_publisher_iop.c [] []
/src/open62541/src/pubsub/ua_pubsub_writergroup.c [] []
/src/open62541/tests/encryption/check_encryption_ecc.c [] []
/src/open62541/examples/tutorial_datatypes.c [] []
/src/open62541/plugins/ua_log_stdout.c [] []
/src/open62541/tests/encryption/check_cert_validation_client_response.c [] []
/src/open62541/include/open62541/util.h [] []
/src/open62541_15/src/server/ua_discovery.c ['fuzz_server_services', 'fuzz_config_json', 'fuzz_tcp_message', 'fuzz_binary_message'] []
/src/open62541/tests/check_yxml.c [] []
/src/open62541/src/pubsub/ua_pubsub_config.c [] []
/src/open62541/src/server/ua_discovery.c [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_basic256sha256.c [] []
/src/open62541/examples/access_control/server_access_control.c [] []
/src/open62541/plugins/include/open62541/plugin/accesscontrol_default.h [] []
/src/open62541/tests/encryption/check_encryption_eccnistp256.c [] []
/src/open62541/src/server/ua_server_ns0_diagnostics.c [] []
/src/open62541/tests/server/check_server_reverseconnect.c [] []
/src/open62541/src/server/ua_subscription.h [] []
/src/open62541/tests/server/check_server.c [] []
/src/open62541/examples/tutorial_server_monitoreditems.c [] []
/src/open62541/plugins/crypto/mbedtls/securitypolicy_pubsub_aes256ctr.c [] []
/src/open62541/tests/client/check_client_subscriptions_datachange.c [] []
/src/open62541/examples/pubsub/sks/pubsub_publish_encrypted_sks.c [] []
/src/open62541/src/util/ua_util_internal.h [] []
/src/open62541/deps/nodesetLoader/backends/open62541/tests/integration/client/client.cpp [] []
/src/open62541/tests/check_eventloop_udp.c [] []
/src/open62541_15/tests/fuzz/fuzz_binary_message.cc [] []
/src/open62541/src/server/ua_server_auditing.c [] []
/src/open62541/src/server/ua_server_config.c [] []
/src/open62541/plugins/crypto/openssl/securitypolicy_common.h [] []
/src/open62541/examples/custom_datatype/server_types_custom.c [] []
/src/open62541/src/client/ua_client_connect.c [] []
/src/open62541/src/ua_types_definition.c [] []
/src/open62541/deps/mqtt-c/include/mqtt_pal.h [] []
/src/open62541/tests/client/check_activateSession.c [] []
/src/open62541/src/util/ua_util.c [] []
/src/open62541/tests/server/check_server_alarmsconditions.c [] []
/src/open62541/src/pubsub/ua_pubsub_reader.c [] []
/src/open62541/tests/check_utf8.c [] []
/src/open62541/examples/tutorial_client_events.c [] []
/src/open62541_15/src/ua_types_encoding_json.c [] []
/src/open62541/src/client/ua_client_discovery.c [] []

Directories in report

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

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_mdns_message fuzzerLogFile-fuzz_mdns_message.data fuzzerLogFile-fuzz_mdns_message.data.yaml fuzz_mdns_message.covreport
fuzz_certificate_parse fuzzerLogFile-fuzz_certificate_parse.data fuzzerLogFile-fuzz_certificate_parse.data.yaml fuzz_certificate_parse.covreport
fuzz_base64_decode fuzzerLogFile-fuzz_base64_decode.data fuzzerLogFile-fuzz_base64_decode.data.yaml fuzz_base64_decode.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_xml_decode_encode fuzzerLogFile-fuzz_xml_decode_encode.data fuzzerLogFile-fuzz_xml_decode_encode.data.yaml fuzz_xml_decode_encode.covreport
fuzz_client fuzzerLogFile-fuzz_client.data fuzzerLogFile-fuzz_client.data.yaml fuzz_client.covreport
fuzz_pubsub_json fuzzerLogFile-fuzz_pubsub_json.data fuzzerLogFile-fuzz_pubsub_json.data.yaml fuzz_pubsub_json.covreport
fuzz_pubsub_binary fuzzerLogFile-fuzz_pubsub_binary.data fuzzerLogFile-fuzz_pubsub_binary.data.yaml fuzz_pubsub_binary.covreport
fuzz_pubsub_connection_config fuzzerLogFile-fuzz_pubsub_connection_config.data fuzzerLogFile-fuzz_pubsub_connection_config.data.yaml fuzz_pubsub_connection_config.covreport
fuzz_server_services fuzzerLogFile-fuzz_server_services.data fuzzerLogFile-fuzz_server_services.data.yaml fuzz_server_services.covreport
fuzz_eventfilter_parse fuzzerLogFile-fuzz_eventfilter_parse.data fuzzerLogFile-fuzz_eventfilter_parse.data.yaml fuzz_eventfilter_parse.covreport
fuzz_json_decode fuzzerLogFile-fuzz_json_decode.data fuzzerLogFile-fuzz_json_decode.data.yaml fuzz_json_decode.covreport
fuzz_config_json fuzzerLogFile-fuzz_config_json.data fuzzerLogFile-fuzz_config_json.data.yaml fuzz_config_json.covreport
fuzz_tcp_message fuzzerLogFile-fuzz_tcp_message.data fuzzerLogFile-fuzz_tcp_message.data.yaml fuzz_tcp_message.covreport
fuzz_parse_string fuzzerLogFile-fuzz_parse_string.data fuzzerLogFile-fuzz_parse_string.data.yaml fuzz_parse_string.covreport
fuzz_attributeoperand fuzzerLogFile-fuzz_attributeoperand.data fuzzerLogFile-fuzz_attributeoperand.data.yaml fuzz_attributeoperand.covreport
fuzz_base64_encode fuzzerLogFile-fuzz_base64_encode.data fuzzerLogFile-fuzz_base64_encode.data.yaml fuzz_base64_encode.covreport
fuzz_src_ua_util fuzzerLogFile-fuzz_src_ua_util.data fuzzerLogFile-fuzz_src_ua_util.data.yaml fuzz_src_ua_util.covreport
fuzz_binary_message fuzzerLogFile-fuzz_binary_message.data fuzzerLogFile-fuzz_binary_message.data.yaml fuzz_binary_message.covreport
fuzz_mdns_xht fuzzerLogFile-fuzz_mdns_xht.data fuzzerLogFile-fuzz_mdns_xht.data.yaml fuzz_mdns_xht.covreport