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
mosquitto/fuzzing/libcommon/libcommon_fuzz_sub_topic_check2.cpp mosquitto/fuzzing/libcommon/libcommon_fuzz_sub_topic_check2.cpp 2 3609 1 1 9 14 libcommon_fuzz_sub_topic_check2.cpp
mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp 233 3440 11 18 821 723 broker_fuzz_read_handle.cpp
mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp 18 3606 4 3 9 4 db_dump_fuzz_load.cpp
mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp 18 3606 4 2 9 4 mosquitto_passwd_fuzz_load.cpp
mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp 233 3440 11 18 821 723 broker_fuzz_handle_connect.cpp
mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp 242 3432 7 9 929 869 broker_fuzz_queue_msg.cpp
mosquitto/fuzzing/libcommon/libcommon_fuzz_utf8.cpp mosquitto/fuzzing/libcommon/libcommon_fuzz_utf8.cpp 2 3609 1 1 19 29 libcommon_fuzz_utf8.cpp
mosquitto/fuzzing/broker/broker_fuzz.cpp mosquitto/fuzzing/broker/broker_fuzz.cpp 14 3610 1 1 3 3 broker_fuzz.cpp
mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp 233 3440 11 18 821 723 broker_fuzz_handle_publish.cpp
mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp 117 3548 6 14 322 301 broker_fuzz_password_file.cpp
mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp 233 3440 11 18 821 723 broker_fuzz_handle_subscribe.cpp
mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp 233 3440 11 17 821 723 broker_fuzz_handle_auth.cpp
mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp 117 3548 6 14 322 301 broker_fuzz_psk_file.cpp
mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp 18 3606 4 3 9 4 db_dump_fuzz_load_client_stats.cpp
mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp 117 3548 6 14 322 301 broker_fuzz_acl_file.cpp
mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp 13 3609 2 1 5 4 broker_fuzz_with_init.cpp
cJSON/fuzzing/cjson_read_fuzzer.c cJSON/fuzzing/cjson_read_fuzzer.c 67 3568 6 3 265 311 cjson_read_fuzzer.c
mosquitto/fuzzing/libcommon/libcommon_fuzz_topic_tokenise.cpp mosquitto/fuzzing/libcommon/libcommon_fuzz_topic_tokenise.cpp 18 3602 3 3 22 24 libcommon_fuzz_topic_tokenise.cpp
mosquitto/fuzzing/libcommon/libcommon_fuzz_pub_topic_check2.cpp mosquitto/fuzzing/libcommon/libcommon_fuzz_pub_topic_check2.cpp 2 3609 1 1 6 7 libcommon_fuzz_pub_topic_check2.cpp
mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp 233 3440 11 18 821 723 broker_fuzz_handle_unsubscribe.cpp
mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp 18 3606 4 2 9 4 db_dump_fuzz_load_stats.cpp
mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp 216 3470 6 9 763 633 dynsec_fuzz_load.cpp
mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp 19 3606 4 2 10 6 broker_fuzz_test_config.cpp

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: mosquitto/fuzzing/libcommon/libcommon_fuzz_sub_topic_check2.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/libcommon/libcommon_fuzz_utf8.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/broker/broker_fuzz.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: cJSON/fuzzing/cjson_read_fuzzer.c

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/libcommon/libcommon_fuzz_topic_tokenise.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/libcommon/libcommon_fuzz_pub_topic_check2.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

Fuzzer: mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp

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 project has no code coverage. Will not display blockers as blockers depend on code coverage.

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
service_main /src/mosquitto/src/service.c 2 ['DWORD', 'LPTSTR*'] 20 0 41 6 10 560 0 2530 1788
mosquitto_main_loop /src/mosquitto/src/loop.c 2 ['struct mosquitto__listener_sock*', 'int'] 26 0 49 9 14 672 0 2628 892
dynsec__handle_command /src/mosquitto/plugins/dynamic-security/control.c 2 ['struct mosquitto_control_cmd*', 'void*'] 26 0 98 32 31 389 0 1438 660
dynsec__main /src/mosquitto/apps/mosquitto_ctrl/dynsec.c 3 ['int', 'char*[]', 'struct mosq_ctrl*'] 9 0 133 38 39 193 0 612 270
test_generate_test /src/cJSON/tests/json_patch_tests.c 1 ['cJSON*'] 10 0 30 4 3 95 3 392 255
dynsec__config_load /src/mosquitto/plugins/dynamic-security/config.c 1 ['struct dynsec__data*'] 27 0 40 8 7 354 0 1227 217
my_message_callback /src/mosquitto/client/sub_client.c 4 ['struct mosquitto*', 'void*', 'struct mosquitto_message*', 'mosquitto_property*'] 14 0 38 12 16 240 0 959 188

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

Functions statically reachable by fuzzers
25.0%
893 / 3610
Cyclomatic complexity statically reachable by fuzzers
55.0%
5900 / 10691

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.

mosquitto/fuzzing/libcommon/libcommon_fuzz_sub_topic_check2.cpp

Dictionary

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


mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp

Dictionary

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


mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp

Dictionary

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


mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp

Dictionary

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


mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp

Dictionary

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


mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp

Dictionary

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


mosquitto/fuzzing/libcommon/libcommon_fuzz_utf8.cpp

Dictionary

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


mosquitto/fuzzing/broker/broker_fuzz.cpp

Dictionary

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


mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp

Dictionary

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


mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp

Dictionary

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


mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp

Dictionary

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


mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp

Dictionary

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


mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp

Dictionary

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


mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp

Dictionary

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


mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp

Dictionary

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


mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp

Dictionary

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


cJSON/fuzzing/cjson_read_fuzzer.c

Dictionary

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


mosquitto/fuzzing/libcommon/libcommon_fuzz_topic_tokenise.cpp

Dictionary

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


mosquitto/fuzzing/libcommon/libcommon_fuzz_pub_topic_check2.cpp

Dictionary

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


mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp

Dictionary

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


mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp

Dictionary

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


mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp

Dictionary

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


mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp

Dictionary

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


Fuzz driver synthesis

New fuzzers

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

service.c

Target file: /src/mosquitto/src/service.c
Target functions: service_main
#include "ada_fuzz_header.h"

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

  /* target service_main */
  UNKNOWN_TYPE unknown_0;
  UNKNOWN_TYPE unknown_1;
  service_main(unknown_0, unknown_1);

  af_safe_gb_cleanup();
}

loop.c

Target file: /src/mosquitto/src/loop.c
Target functions: mosquitto_main_loop
#include "ada_fuzz_header.h"

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

  /* target mosquitto_main_loop */
  structmosquitto__listener_sock* new_var2 = calloc(sizeof(structmosquitto__listener_sock), 1);
  int new_var3 = ada_safe_get_int();
  mosquitto_main_loop(new_var2, new_var3);

  af_safe_gb_cleanup();
}

control.c

Target file: /src/mosquitto/plugins/dynamic-security/control.c
Target functions: dynsec__handle_command
#include "ada_fuzz_header.h"

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

  /* target dynsec__handle_command */
  structmosquitto_control_cmd* new_var4 = calloc(sizeof(structmosquitto_control_cmd), 1);
  UNKNOWN_TYPE unknown_5;
  dynsec__handle_command(new_var4, unknown_5);

  af_safe_gb_cleanup();
}

dynsec.c

Target file: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
Target functions: dynsec__main
#include "ada_fuzz_header.h"

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

  /* target dynsec__main */
  int new_var6 = ada_safe_get_int();
  UNKNOWN_TYPE unknown_7;
  structmosq_ctrl* new_var8 = calloc(sizeof(structmosq_ctrl), 1);
  dynsec__main(new_var6, unknown_7, new_var8);

  af_safe_gb_cleanup();
}

json_patch_tests.c

Target file: /src/cJSON/tests/json_patch_tests.c
Target functions: test_generate_test
#include "ada_fuzz_header.h"

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

  /* target test_generate_test */
  UNKNOWN_TYPE unknown_9;
  test_generate_test(unknown_9);

  af_safe_gb_cleanup();
}

config.c

Target file: /src/mosquitto/plugins/dynamic-security/config.c
Target functions: dynsec__config_load
#include "ada_fuzz_header.h"

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

  /* target dynsec__config_load */
  structdynsec__data* new_var10 = calloc(sizeof(structdynsec__data), 1);
  dynsec__config_load(new_var10);

  af_safe_gb_cleanup();
}

sub_client.c

Target file: /src/mosquitto/client/sub_client.c
Target functions: my_message_callback
#include "ada_fuzz_header.h"

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

  /* target my_message_callback */
  structmosquitto* new_var11 = calloc(sizeof(structmosquitto), 1);
  UNKNOWN_TYPE unknown_12;
  structmosquitto_message* new_var13 = calloc(sizeof(structmosquitto_message), 1);
  UNKNOWN_TYPE unknown_14;
  my_message_callback(new_var11, unknown_12, new_var13, unknown_14);

  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/mosquitto/lib/mosquitto_internal.h [] []
/src/mosquitto/plugins/persist-sqlite/client_msgs.c [] []
/src/mosquitto/client/sub_client.c [] []
/src/cJSON/tests/unity/src/unity.c [] []
/src/mosquitto/common/json_help.c [] []
/src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c [] []
/src/mosquitto/src/handle_subscribe.c [] []
/src/mosquitto/test/unit/libcommon/trim_test.c [] []
/src/mosquitto/lib/handle_pubackcomp.c [] []
/src/mosquitto/src/proxy_v2.c [] []
/src/cJSON/tests/minify_tests.c [] []
/src/mosquitto/libcommon/cjson_common.c [] []
/src/mosquitto/lib/options.c [] []
/src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c [] []
/src/mosquitto/client/pub_client.c [] []
/src/mosquitto/client/sub_client_output.c [] []
/src/mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp ['mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp'] []
/src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c [] []
/src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c ['mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp'] []
/src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp [] []
/src/mosquitto/plugins/examples/deny-protocol-version/mosquitto_deny_protocol_version.c [] []
/src/mosquitto/lib/send_disconnect.c [] []
/src/mosquitto/plugins/persist-sqlite/restore.c [] []
/src/mosquitto/test/broker/c/plugin_evt_persist_client_update.c [] []
/src/mosquitto/test/unit/lib/property_user_read.c [] []
/src/mosquitto/test/broker/c/plugin_control.c [] []
/src/mosquitto/src/watchdog.c [] []
/src/mosquitto/client/pub_shared.c [] []
/src/mosquitto/lib/srv_mosq.c [] []
/src/mosquitto/lib/loop.c [] []
/src/cJSON/tests/parse_array.c [] []
/src/mosquitto/fuzzing/libcommon/libcommon_fuzz_topic_tokenise.cpp ['mosquitto/fuzzing/libcommon/libcommon_fuzz_topic_tokenise.cpp'] []
/src/cJSON/cJSON.c ['cJSON/fuzzing/cjson_read_fuzzer.c'] []
/src/mosquitto/test/unit/lib/property_write.c [] []
/src/mosquitto/lib/handle_auth.c [] []
/src/mosquitto/lib/util_mosq.c [] []
/src/mosquitto/plugins/dynamic-security/config.c [] []
/src/mosquitto/deps/picohttpparser/picohttpparser.c [] []
/src/mosquitto/common/lib_load.h [] []
/src/mosquitto/test/path_helper.h [] []
/src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c [] []
/src/mosquitto/plugins/persist-sqlite/retain_msgs.c [] []
/src/mosquitto/src/plugin_message.c [] []
/src/mosquitto/apps/mosquitto_passwd/get_password.c [] []
/src/cJSON/tests/print_value.c [] []
/src/mosquitto/src/plugin_disconnect.c [] []
/src/mosquitto/plugins/sparkplug-aware/on_message.c [] []
/src/mosquitto/plugins/dynamic-security/clients.c [] []
/src/mosquitto/fuzzing/libcommon/libcommon_fuzz_pub_topic_check2.cpp ['mosquitto/fuzzing/libcommon/libcommon_fuzz_pub_topic_check2.cpp'] []
/src/mosquitto/libcommon/topic_common.c ['mosquitto/fuzzing/libcommon/libcommon_fuzz_topic_tokenise.cpp'] []
/src/mosquitto/plugins/persist-sqlite/base_msgs.c [] []
/src/cJSON/tests/cjson_add.c [] []
/src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_io.c [] []
/src/mosquitto/src/plugin_reload.c [] []
/src/mosquitto/src/plugin_v5.c [] []
/src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp [] []
/src/mosquitto/plugins/persist-sqlite/tick.c [] []
/src/mosquitto/test/unit/broker/subs_stubs.c ['mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp'] []
/src/mosquitto/config.h [] []
/src/mosquitto/lib/packet_mosq.c ['mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp'] []
/src/mosquitto/lib/thread_mosq.c [] []
/src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp [] []
/src/cJSON/tests/misc_utils_tests.c [] []
/src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp [] []
/src/cJSON/tests/parse_string.c [] []
/src/mosquitto/lib/actions_publish.c [] []
/src/mosquitto/plugins/dynamic-security/clientlist.c [] []
/src/mosquitto/plugins/dynamic-security/acl.c [] []
/src/mosquitto/src/mux_kqueue.c [] []
/src/mosquitto/libcommon/time_common.c [] []
/src/mosquitto/lib/alias_mosq.c ['mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp'] []
/src/mosquitto/test/broker/c/auth_plugin_v5_control.c [] []
/src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp [] []
/src/mosquitto/lib/will_mosq.c [] []
/src/mosquitto/src/send_suback.c [] []
/src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c [] []
/src/cJSON/tests/unity/examples/example_3/src/ProductionCode.c [] []
/src/mosquitto/src/mux_poll.c [] []
/src/mosquitto/plugins/persist-sqlite/common.c [] []
/src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c [] []
/src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp [] []
/src/mosquitto/lib/handle_pubrel.c [] []
/src/mosquitto/examples/mysql_log/mysql_log.c [] []
/src/mosquitto/lib/callbacks.c [] []
/src/mosquitto/libcommon/file_common.c ['mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp'] []
/src/mosquitto/src/psk_file.c ['mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp'] []
/src/mosquitto/include/mosquitto/mqtt_protocol.h [] []
/src/mosquitto/libcommon/utf8_common.c [] []
/src/mosquitto/test/mock/editline_mock.cpp [] []
/src/mosquitto/lib/packet_datatypes.c [] []
/src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp ['mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp', 'mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp', 'mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp'] []
/src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c [] []
/src/cJSON/tests/unity/extras/fixture/test/unity_output_Spy.c [] []
/src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp [] []
/src/mosquitto/apps/mosquitto_ctrl/options.c [] []
/src/cJSON/tests/parse_number.c [] []
/src/cJSON/tests/unity/extras/fixture/src/unity_fixture_malloc_overrides.h [] []
/src/cJSON/tests/print_number.c [] []
/src/mosquitto/src/plugin_extended_auth.c [] []
/src/mosquitto/apps/db_dump/json.c [] []
/src/mosquitto/apps/mosquitto_ctrl/example.c [] []
/src/cJSON/tests/old_utils_tests.c [] []
/src/mosquitto/test/unit/libcommon/property_value.c [] []
/src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp [] []
/src/mosquitto/src/plugin_callbacks.c ['mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp', 'mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp'] []
/src/cJSON/tests/unity/extras/fixture/test/main/AllTests.c [] []
/src/mosquitto/lib/extended_auth.c [] []
/src/mosquitto/plugins/persist-sqlite/init.c [] []
/src/mosquitto/lib/pthread_compat.h [] []
/src/mosquitto/lib/actions_unsubscribe.c [] []
/src/mosquitto/examples/subscribe/basic-1.c [] []
/src/mosquitto/src/broker_control.c [] []
/src/cJSON/tests/parse_object.c [] []
/src/cJSON/tests/unity/test/tests/testunity.c [] []
/src/mosquitto/src/logging.c ['mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp', 'mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp'] []
/src/mosquitto/src/plugin_client_offline.c [] []
/src/mosquitto/lib/send_mosq.c [] []
/src/mosquitto/src/handle_unsubscribe.c [] []
/src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c [] []
/src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c [] []
/src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp ['mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp'] []
/src/mosquitto/plugins/dynamic-security/grouplist.c [] []
/src/mosquitto/src/handle_connect.c [] []
/src/mosquitto/test/unit/libcommon/strings_test.c [] []
/src/mosquitto/plugins/dynamic-security/roles.c [] []
/src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp [] []
/src/mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp ['mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp'] []
/src/mosquitto/src/mux.c [] []
/src/mosquitto/lib/socks_mosq.c [] []
/src/mosquitto/client/client_shared.c [] []
/src/mosquitto/src/control.c ['mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp', 'mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp'] []
/src/mosquitto/src/http_serv.c [] []
/src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp ['mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp'] []
/src/mosquitto/libcommon/property_common.c ['mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp'] []
/src/cJSON/tests/unity/test/testdata/cmock.h [] []
/src/mosquitto/src/bridge.c ['mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp'] []
/src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp [] []
/src/mosquitto/apps/db_dump/stubs.c [] []
/src/cJSON/tests/print_array.c [] []
/src/mosquitto/src/conf.c ['mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp'] []
/src/mosquitto/test/unit/libcommon/property_add.c [] []
/src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c [] []
/src/cJSON/tests/unity/examples/example_3/src/ProductionCode2.c [] []
/src/mosquitto/lib/actions_subscribe.c [] []
/src/mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp ['mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp'] []
/src/mosquitto/test/unit/broker/persist_write_test.c [] []
/src/mosquitto/examples/subscribe_simple/callback.c [] []
/src/mosquitto/include/mosquitto/libcommon_memory.h [] []
/src/cJSON/test.c [] []
/src/cJSON/tests/unity/examples/example_2/test/test_runners/all_tests.c [] []
/src/mosquitto/include/mosquitto/libmosquittopp.h [] []
/src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_printf.c [] []
/src/mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp ['mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp'] []
/src/mosquitto/test/mock/pthread_mock.cpp [] []
/src/mosquitto/test/unit/lib/datatype_read.c [] []
/src/mosquitto/test/broker/c/plugin_evt_reload.c [] []
/src/mosquitto/plugins/dynamic-security/auth.c [] []
/src/mosquitto/src/conf_includedir.c [] []
/src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp [] []
/src/mosquitto/src/persist_write.c [] []
/src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c [] []
/src/mosquitto/test/lib/c/03-publish-loop-start.c [] []
/src/cJSON/cJSON.h [] []
/src/mosquitto/test/lib/c/01-extended-auth-continue.c [] []
/src/mosquitto/src/database.c ['mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp'] []
/src/mosquitto/test/unit/libcommon/utf8.c [] []
/src/mosquitto/src/plugin_persist.c [] []
/src/mosquitto/test/broker/c/auth_plugin_delayed.c ['mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp'] []
/src/mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp ['mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp'] []
/src/mosquitto/src/plugin_init.c [] []
/src/mosquitto/src/retain.c [] []
/src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c [] []
/src/mosquitto/test/lib/c/01-pre-connect-callback.c [] []
/src/mosquitto/src/proxy_v1.c [] []
/src/mosquitto/src/keepalive.c ['mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp'] []
/src/mosquitto/lib/send_publish.c [] []
/src/mosquitto/plugins/dynamic-security/config_init.c [] []
/src/mosquitto/src/persist_write_v5.c [] []
/src/mosquitto/test/unit/lib/property_read.c [] []
/src/mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp ['mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp'] []
/src/mosquitto/test/unit/broker/persist_read_stubs.c ['mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp'] []
/src/mosquitto/lib/messages_mosq.c [] []
/src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c [] []
/src/mosquitto/lib/handle_ping.c [] []
/src/mosquitto/src/listeners.c [] []
/src/cJSON/tests/print_string.c [] []
/src/cJSON/tests/common.h [] []
/src/mosquitto/test/broker/c/plugin_evt_tick.c [] []
/src/mosquitto/libcommon/base64_common.c [] []
/src/mosquitto/src/persist.h [] []
/src/mosquitto/src/send_unsuback.c [] []
/src/cJSON/tests/unity/examples/example_3/helper/UnityHelper.h [] []
/src/mosquitto/src/plugin_basic_auth.c [] []
/src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp [] []
/src/mosquitto/deps/uthash.h [] []
/src/mosquitto/src/persist_read_v234.c [] []
/src/mosquitto/lib/handle_publish.c [] []
/src/mosquitto/src/plugin_connect.c [] []
/src/mosquitto/plugins/dynamic-security/control.c [] []
/src/mosquitto/fuzzing/broker/broker_fuzz.cpp ['mosquitto/fuzzing/broker/broker_fuzz.cpp'] []
/src/mosquitto/test/unit/broker/bridge_topic_test.c [] []
/src/mosquitto/test/broker/c/bad_v2_2.c [] []
/src/mosquitto/lib/cpp/mosquittopp.cpp [] []
/src/mosquitto/src/websockets.c [] []
/src/mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp ['mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp'] []
/src/mosquitto/src/security_default.c ['mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp'] []
/src/mosquitto/test/mock/c_function_mock.hpp [] []
/src/mosquitto/test/unit/broker/keepalive_test.c [] []
/src/mosquitto/src/session_expiry.c [] []
/src/mosquitto/client/client_props.c [] []
/src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c [] []
/src/mosquitto/lib/send_unsubscribe.c [] []
/src/mosquitto/src/topic_tok.c [] []
/src/mosquitto/src/plugin_unsubscribe.c [] []
/src/mosquitto/plugins/persist-sqlite/clients.c [] []
/src/cJSON/tests/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c [] []
/src/mosquitto/plugins/dynamic-security/tick.c [] []
/src/mosquitto/test/unit/broker/persist_read_test.c [] []
/src/mosquitto/test/lib/cpp/01-pre-connect-callback.cpp [] []
/src/cJSON/fuzzing/afl.c [] []
/src/mosquitto/test/broker/c/plugin_evt_psk_key.c [] []
/src/mosquitto/test/broker/c/auth_plugin_v2.c [] []
/src/mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp ['mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp'] []
/src/mosquitto/apps/mosquitto_ctrl/client.c [] []
/src/mosquitto/src/mux_epoll.c [] []
/src/mosquitto/libcommon/random_common.c [] []
/src/mosquitto/test/unit/broker/subs_test.c [] []
/src/mosquitto/libcommon/mqtt_common.c [] []
/src/mosquitto/src/context.c ['mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp'] []
/src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h [] []
/src/mosquitto/src/plugin_cleanup.c [] []
/src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp ['mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp'] []
/src/mosquitto/lib/net_ws.c [] []
/src/mosquitto/src/sys_tree.c [] []
/src/mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp ['mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp'] []
/src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp ['mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp'] []
/src/cJSON/cJSON_Utils.c [] []
/src/mosquitto/test/mock/lib/libmosquitto_mock.cpp [] []
/src/mosquitto/src/service.c [] []
/src/mosquitto/lib/handle_pubrec.c [] []
/src/mosquitto/libcommon/strings_common.c [] []
/src/mosquitto/lib/http_client.c [] []
/src/mosquitto/apps/mosquitto_ctrl/dynsec.c [] []
/src/mosquitto/lib/net_mosq.c [] []
/src/mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp ['mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp'] []
/src/mosquitto/lib/connect.c [] []
/src/cJSON/fuzzing/cjson_read_fuzzer.c ['cJSON/fuzzing/cjson_read_fuzzer.c'] []
/src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c [] []
/src/cJSON/tests/print_object.c [] []
/src/mosquitto/test/lib/c/fuzzish.c [] []
/src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c [] []
/src/mosquitto/apps/mosquitto_signal/signal_windows.c [] []
/src/mosquitto/src/persist_read.c [] []
/src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c [] []
/src/mosquitto/src/xtreport.c [] []
/src/mosquitto/lib/logging_mosq.c [] []
/src/mosquitto/plugins/dynamic-security/default_acl.c [] []
/src/mosquitto/lib/send_subscribe.c [] []
/src/mosquitto/src/plugin_v3.c [] []
/src/mosquitto/src/control_common.c [] []
/src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c [] []
/src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c [] []
/src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp [] []
/src/mosquitto/src/plugin_acl_check.c [] []
/src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c [] []
/src/mosquitto/apps/db_dump/db_dump.c [] []
/src/cJSON/tests/unity/test/tests/testparameterized.c [] []
/src/mosquitto/test/unit/broker/persist_write_stubs.c ['mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp', 'mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp'] []
/src/mosquitto/lib/handle_disconnect.c [] []
/src/mosquitto/libcommon/memory_common.c ['mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp', 'mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp', 'mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp', 'mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp', 'cJSON/fuzzing/cjson_read_fuzzer.c', 'mosquitto/fuzzing/libcommon/libcommon_fuzz_topic_tokenise.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp', 'mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp', 'mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp'] []
/src/mosquitto/lib/tls_mosq.h [] []
/src/mosquitto/test/broker/c/plugin_evt_client_offline.c [] []
/src/cJSON/tests/compare_tests.c [] []
/src/cJSON/tests/parse_examples.c [] []
/src/mosquitto/src/mosquitto.c [] []
/src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp ['mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp'] []
/src/mosquitto/libcommon/password_common.c ['mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp'] []
/src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c [] []
/src/mosquitto/test/lib/cpp/01-will-unpwd-set.cpp [] []
/src/mosquitto/test/unit/lib/publish_test.c [] []
/src/mosquitto/apps/db_dump/print.c [] []
/src/mosquitto/src/persist_read_v5.c [] []
/src/cJSON/tests/unity/src/unity_internals.h [] []
/src/cJSON/tests/unity/examples/example_3/helper/UnityHelper.c [] []
/src/mosquitto/test/lib/c/02-unsubscribe2-v5.c [] []
/src/mosquitto/lib/handle_connack.c [] []
/src/mosquitto/src/property_broker.c [] []
/src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c [] []
/src/mosquitto/test/broker/c/08-tls-psk-bridge.c [] []
/src/mosquitto/fuzzing/libcommon/libcommon_fuzz_utf8.cpp ['mosquitto/fuzzing/libcommon/libcommon_fuzz_utf8.cpp'] []
/src/mosquitto/test/unit/lib/datatype_write.c [] []
/src/cJSON/tests/misc_tests.c [] []
/src/mosquitto/plugins/persist-sqlite/plugin.c [] []
/src/mosquitto/test/broker/c/bad_vnone_1.c [] []
/src/mosquitto/lib/read_handle.c [] []
/src/cJSON/tests/json_patch_tests.c [] []
/src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c [] []
/src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp [] []
/src/mosquitto/plugins/persist-sqlite/subscriptions.c [] []
/src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c [] []
/src/mosquitto/src/plugin_v2.c [] []
/src/mosquitto/plugins/dynamic-security/groups.c [] []
/src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c [] []
/src/mosquitto/src/signals.c [] []
/src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp [] []
/src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c [] []
/src/mosquitto/src/plugin_tick.c [] []
/src/mosquitto/src/loop.c [] []
/src/mosquitto/test/lib/cpp/02-unsubscribe.cpp [] []
/src/mosquitto/test/mock/apps/mosquitto_ctrl/ctrl_shell_mock.cpp [] []
/src/mosquitto/lib/libmosquitto.c [] []
/src/mosquitto/src/plugin_subscribe.c [] []
/src/cJSON/tests/unity/test/expectdata/testsample_new2.c [] []
/src/mosquitto/lib/property_mosq.c [] []
/src/mosquitto/test/lib/cpp/03-request-response-2.cpp [] []
/src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c [] []
/src/cJSON/tests/parse_hex4.c [] []
/src/mosquitto/test/unit/libcommon/topic_test.c [] []
/src/cJSON/tests/parse_value.c [] []
/src/cJSON/tests/unity/src/unity.h [] []
/src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp ['mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp'] []
/src/mosquitto/client/rr_client.c [] []
/src/mosquitto/test/unit/tls_test.c [] []
/src/mosquitto/plugins/dynamic-security/kicklist.c [] []
/src/mosquitto/deps/utlist.h [] []
/src/mosquitto/lib/net_mosq.h [] []
/src/mosquitto/src/send_auth.c [] []
/src/cJSON/tests/unity/examples/example_3/test/TestProductionCode2.c [] []
/src/mosquitto/lib/helpers.c [] []
/src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c [] []
/src/mosquitto/apps/mosquitto_signal/signal_unix.c [] []
/src/mosquitto/apps/mosquitto_ctrl/broker.c [] []
/src/mosquitto/test/unit/broker/stubs.c [] []
/src/mosquitto/src/will_delay.c ['mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp', 'mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp'] []
/src/mosquitto/src/plugin_v4.c [] []
/src/mosquitto/src/send_connack.c [] []
/src/mosquitto/lib/net_mosq_ocsp.c [] []
/src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp [] []
/src/mosquitto/src/net.c [] []
/src/mosquitto/examples/publish/basic-1.c [] []
/src/mosquitto/lib/handle_suback.c [] []
/src/mosquitto/fuzzing/libcommon/libcommon_fuzz_sub_topic_check2.cpp ['mosquitto/fuzzing/libcommon/libcommon_fuzz_sub_topic_check2.cpp'] []
/src/mosquitto/test/broker/c/auth_plugin_extended_single.c [] []
/src/cJSON/tests/parse_with_opts.c [] []
/src/mosquitto/include/mosquitto/broker_plugin.h [] []
/src/mosquitto/lib/tls_mosq.c [] []
/src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp [] []
/src/mosquitto/lib/handle_unsuback.c [] []
/src/mosquitto/src/plugin_public.c [] []
/src/mosquitto/plugins/dynamic-security/rolelist.c [] []
/src/cJSON/tests/readme_examples.c [] []
/src/cJSON/tests/unity/test/testdata/CException.h [] []
/src/mosquitto/src/bridge_topic.c [] []
/src/mosquitto/src/plugin_psk_key.c [] []
/src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp [] []
/src/mosquitto/src/subs.c ['mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp', 'mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp'] []

Directories in report

Directory
/src/mosquitto/lib/
/src/mosquitto/fuzzing/apps/mosquitto_passwd/
/src/mosquitto/common/
/src/mosquitto/test/unit/
/src/mosquitto/plugins/examples/auth-by-env/
/src/mosquitto/deps/
/src/cJSON/tests/unity/test/tests/
/src/cJSON/tests/unity/examples/example_2/test/test_runners/
/src/mosquitto/libcommon/
/src/mosquitto/test/
/src/cJSON/fuzzing/
/src/mosquitto/fuzzing/plugins/dynamic-security/
/src/mosquitto/plugins/examples/connection-state/
/src/mosquitto/plugins/dynamic-security/
/src/cJSON/
/src/mosquitto/src/
/src/cJSON/tests/unity/test/testdata/
/src/mosquitto/plugins/examples/plugin-event-stats/
/src/mosquitto/test/lib/c/
/src/cJSON/tests/unity/examples/example_3/test/
/src/mosquitto/deps/picohttpparser/
/src/mosquitto/fuzzing/apps/db_dump/
/src/mosquitto/fuzzing/libcommon/
/src/mosquitto/examples/subscribe/
/src/cJSON/tests/unity/examples/example_2/test/
/src/mosquitto/test/apps/ctrl/
/src/mosquitto/test/unit/libcommon/
/src/mosquitto/fuzzing/broker/
/src/cJSON/tests/unity/examples/example_3/src/
/src/mosquitto/client/
/src/mosquitto/lib/cpp/
/src/mosquitto/plugins/examples/topic-jail/
/src/mosquitto/plugins/examples/deny-protocol-version/
/src/cJSON/tests/unity/extras/fixture/test/
/src/mosquitto/plugins/examples/delayed-auth/
/src/mosquitto/test/mock/apps/mosquitto_ctrl/
/src/mosquitto/plugins/sparkplug-aware/
/src/mosquitto/test/unit/broker/
/src/mosquitto/apps/mosquitto_ctrl/
/src/mosquitto/test/broker/c/
/src/mosquitto/test/lib/cpp/
/src/mosquitto/apps/mosquitto_signal/
/src/mosquitto/examples/temperature_conversion/
/src/mosquitto/test/mock/lib/
/src/cJSON/tests/unity/extras/fixture/test/main/
/src/cJSON/tests/unity/examples/example_1/test/test_runners/
/src/mosquitto/apps/db_dump/
/src/mosquitto/plugins/persist-sqlite/
/src/mosquitto/apps/mosquitto_passwd/
/src/mosquitto/test/unit/lib/
/src/mosquitto/examples/subscribe_simple/
/src/mosquitto/
/src/mosquitto/plugins/examples/client-lifetime-stats/
/src/cJSON/tests/unity/examples/example_3/helper/
/src/cJSON/tests/
/src/cJSON/tests/unity/src/
/src/mosquitto/examples/publish/
/src/cJSON/tests/unity/test/expectdata/
/src/mosquitto/include/mosquitto/
/src/mosquitto/plugins/examples/payload-ban/
/src/mosquitto/examples/mysql_log/
/src/mosquitto/test/mock/
/src/cJSON/tests/unity/extras/fixture/src/
/src/mosquitto/plugins/examples/print-ip-on-publish/

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
mosquitto/fuzzing/libcommon/libcommon_fuzz_sub_topic_check2.cpp fuzzerLogFile-libcommon_fuzz_sub_topic_check2.data fuzzerLogFile-libcommon_fuzz_sub_topic_check2.data.yaml
mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp fuzzerLogFile-broker_fuzz_read_handle.data fuzzerLogFile-broker_fuzz_read_handle.data.yaml
mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp fuzzerLogFile-db_dump_fuzz_load.data fuzzerLogFile-db_dump_fuzz_load.data.yaml
mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp fuzzerLogFile-mosquitto_passwd_fuzz_load.data fuzzerLogFile-mosquitto_passwd_fuzz_load.data.yaml
mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp fuzzerLogFile-broker_fuzz_handle_connect.data fuzzerLogFile-broker_fuzz_handle_connect.data.yaml
mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp fuzzerLogFile-broker_fuzz_queue_msg.data fuzzerLogFile-broker_fuzz_queue_msg.data.yaml
mosquitto/fuzzing/libcommon/libcommon_fuzz_utf8.cpp fuzzerLogFile-libcommon_fuzz_utf8.data fuzzerLogFile-libcommon_fuzz_utf8.data.yaml
mosquitto/fuzzing/broker/broker_fuzz.cpp fuzzerLogFile-broker_fuzz.data fuzzerLogFile-broker_fuzz.data.yaml
mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp fuzzerLogFile-broker_fuzz_handle_publish.data fuzzerLogFile-broker_fuzz_handle_publish.data.yaml
mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp fuzzerLogFile-broker_fuzz_password_file.data fuzzerLogFile-broker_fuzz_password_file.data.yaml
mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp fuzzerLogFile-broker_fuzz_handle_subscribe.data fuzzerLogFile-broker_fuzz_handle_subscribe.data.yaml
mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp fuzzerLogFile-broker_fuzz_handle_auth.data fuzzerLogFile-broker_fuzz_handle_auth.data.yaml
mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp fuzzerLogFile-broker_fuzz_psk_file.data fuzzerLogFile-broker_fuzz_psk_file.data.yaml
mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp fuzzerLogFile-db_dump_fuzz_load_client_stats.data fuzzerLogFile-db_dump_fuzz_load_client_stats.data.yaml
mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp fuzzerLogFile-broker_fuzz_acl_file.data fuzzerLogFile-broker_fuzz_acl_file.data.yaml
mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp fuzzerLogFile-broker_fuzz_with_init.data fuzzerLogFile-broker_fuzz_with_init.data.yaml
cJSON/fuzzing/cjson_read_fuzzer.c fuzzerLogFile-cjson_read_fuzzer.data fuzzerLogFile-cjson_read_fuzzer.data.yaml
mosquitto/fuzzing/libcommon/libcommon_fuzz_topic_tokenise.cpp fuzzerLogFile-libcommon_fuzz_topic_tokenise.data fuzzerLogFile-libcommon_fuzz_topic_tokenise.data.yaml
mosquitto/fuzzing/libcommon/libcommon_fuzz_pub_topic_check2.cpp fuzzerLogFile-libcommon_fuzz_pub_topic_check2.data fuzzerLogFile-libcommon_fuzz_pub_topic_check2.data.yaml
mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp fuzzerLogFile-broker_fuzz_handle_unsubscribe.data fuzzerLogFile-broker_fuzz_handle_unsubscribe.data.yaml
mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp fuzzerLogFile-db_dump_fuzz_load_stats.data fuzzerLogFile-db_dump_fuzz_load_stats.data.yaml
mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp fuzzerLogFile-dynsec_fuzz_load.data fuzzerLogFile-dynsec_fuzz_load.data.yaml
mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp fuzzerLogFile-broker_fuzz_test_config.data fuzzerLogFile-broker_fuzz_test_config.data.yaml

Sink analyser for CWEs

This section contains multiple tables, each table contains a list of sink functions/methods found in the project for one of the CWE supported by the sink analyser, together with information like which fuzzers statically reach the sink functions/methods and possible call path to that sink functions/methods if it is not statically reached by any fuzzers. Column 1 is the function/method name of the sink functions/methods found in the project. Column 2 lists all fuzzers (or no fuzzers at all) that have covered that particular function method statically. Column 3 shows a list of possible call paths to reach the specific function/method call if none of the fuzzers cover the target function/method calls. Lastly, column 4 shows possible fuzzer blockers that prevent an existing fuzzer from reaching the target sink functions/methods dynamically.

Sink functions/methods found for CWE416

Target sink Reached by fuzzer Function call path Possible branch blockers
free ['/src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp', '/src/mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp', '/src/mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp', '/src/cJSON/fuzzing/cjson_read_fuzzer.c', '/src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp', '/src/mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp', '/src/mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp', '/src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp', '/src/mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp', '/src/mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp', '/src/mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp', '/src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp', '/src/mosquitto/fuzzing/libcommon/libcommon_fuzz_topic_tokenise.cpp', '/src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp', '/src/mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp', '/src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp', '/src/mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp', '/src/mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp'] N/A
Blocker function Arguments type Return type Constants touched
create_objects
in /src/cJSON/test.c:109
[] void []
CJSON_CDECL::internal_free
in /src/cJSON/cJSON.c:169
['void*'] void []
create_monitor_should_create_a_monitor
in /src/cJSON/tests/readme_examples.c:217
[] void []
create_monitor_with_helpers_should_create_a_monitor
in /src/cJSON/tests/readme_examples.c:226
[] void []
CJSON_CDECL::normal_free
in /src/cJSON/tests/cjson_add.c:38
['void*'] void []
cjson_functions_should_not_crash_with_null_pointers
in /src/cJSON/tests/misc_tests.c:351
[] void []
cjson_delete_item_from_array_should_not_broken_list_structure
in /src/cJSON/tests/misc_tests.c:607
[] void []
file_test1_should_be_parsed_and_printed
in /src/cJSON/tests/parse_examples.c:109
[] void []
file_test2_should_be_parsed_and_printed
in /src/cJSON/tests/parse_examples.c:114
[] void []
file_test3_should_be_parsed_and_printed
in /src/cJSON/tests/parse_examples.c:119
[] void []
file_test4_should_be_parsed_and_printed
in /src/cJSON/tests/parse_examples.c:124
[] void []
file_test5_should_be_parsed_and_printed
in /src/cJSON/tests/parse_examples.c:129
[] void []
file_test7_should_be_parsed_and_printed
in /src/cJSON/tests/parse_examples.c:157
[] void []
file_test8_should_be_parsed_and_printed
in /src/cJSON/tests/parse_examples.c:162
[] void []
file_test9_should_be_parsed_and_printed
in /src/cJSON/tests/parse_examples.c:167
[] void []
file_test10_should_be_parsed_and_printed
in /src/cJSON/tests/parse_examples.c:172
[] void []
file_test11_should_be_parsed_and_printed
in /src/cJSON/tests/parse_examples.c:177
[] void []
file_test6_should_not_be_parsed
in /src/cJSON/tests/parse_examples.c:134
[] void []
cjson_utils_should_pass_json_patch_test_tests
in /src/cJSON/tests/json_patch_tests.c:183
[] void []
cjson_utils_should_pass_json_patch_test_spec_tests
in /src/cJSON/tests/json_patch_tests.c:200
[] void []
cjson_utils_should_pass_json_patch_test_cjson_utils_tests
in /src/cJSON/tests/json_patch_tests.c:217
[] void []
WinMain
in /src/mosquitto/src/mosquitto.c:572
['HINSTANCE', 'HINSTANCE', 'LPSTR', 'int'] int []
service_main
in /src/mosquitto/src/service.c:80
['DWORD', 'LPTSTR*'] void []
cjson_minify_should_remove_single_line_comments
in /src/cJSON/tests/minify_tests.c:44
[] void []
cjson_minify_should_remove_spaces
in /src/cJSON/tests/minify_tests.c:58
[] void []
cjson_minify_should_remove_multiline_comments
in /src/cJSON/tests/minify_tests.c:72
[] void []
cjson_minify_should_not_modify_strings
in /src/cJSON/tests/minify_tests.c:86
[] void []
cjson_minify_should_minify_json
in /src/cJSON/tests/minify_tests.c:100
[] void []
misc_tests
in /src/cJSON/tests/old_utils_tests.c:88
[] void []
merge_tests
in /src/cJSON/tests/old_utils_tests.c:168
[] void []
generate_merge_tests
in /src/cJSON/tests/old_utils_tests.c:192
[] void []
UnityOutputCharSpy_Destroy
in /src/cJSON/tests/unity/extras/fixture/test/unity_output_Spy.c:30
[] void []
EditLineMock::reset
in /src/mosquitto/test/mock/editline_mock.cpp:12
[] void []
CtrlShellOptionsTest::expect_connect_and_messages
in /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:149
['struct mosquitto*'] void []
CtrlShellBrokerTest::expect_connect_and_messages
in /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:152
['struct mosquitto*'] void []
CtrlShellDynsecTest::expect_generic_arg1
in /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:177
['char*', 'char*', 'char*'] void []
CtrlShellDynsecTest::expect_generic_arg1_with_list_update
in /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:212
['char*', 'char*', 'char*', 'char*'] void []
CtrlShellDynsecTest::expect_generic_arg1_with_error
in /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:249
['char*', 'char*'] void []
CtrlShellDynsecTest::expect_generic_arg2
in /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:280
['char*', 'char*', 'char*', 'char*', 'char*'] void []
CtrlShellDynsecTest::expect_send_set_acl_default_access
in /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:318
['char*'] void []
mosquittopp_test::on_message_v5
in /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:42
['struct mosquitto_message*', 'mosquitto_property*'] void []
byte_prop_write_helper
in /src/mosquitto/test/unit/lib/property_write.c:9
['int', 'uint32_t', 'int', 'int', 'uint8_t'] void []
int32_prop_write_helper
in /src/mosquitto/test/unit/lib/property_write.c:60
['int', 'uint32_t', 'int', 'int', 'uint32_t'] void []
int16_prop_write_helper
in /src/mosquitto/test/unit/lib/property_write.c:111
['int', 'uint32_t', 'int', 'int', 'uint16_t'] void []
string_prop_write_helper
in /src/mosquitto/test/unit/lib/property_write.c:161
['int', 'uint32_t', 'int', 'int', 'char*'] void []
binary_prop_write_helper
in /src/mosquitto/test/unit/lib/property_write.c:218
['int', 'uint32_t', 'int', 'int', 'uint8_t*', 'uint16_t'] void []
string_pair_prop_write_helper
in /src/mosquitto/test/unit/lib/property_write.c:276
['uint32_t', 'int', 'int', 'char*', 'char*', 'bool'] void []
varint_prop_write_helper
in /src/mosquitto/test/unit/lib/property_write.c:346
['uint32_t', 'int', 'int', 'uint32_t'] void []
TEST_bad_identifier
in /src/mosquitto/test/unit/lib/property_write.c:410
[] void []
TEST_binary_data_read_empty
in /src/mosquitto/test/unit/lib/datatype_read.c:698
[] void []
TEST_binary_data_read_truncated
in /src/mosquitto/test/unit/lib/datatype_read.c:709
[] void []
TEST_string_read_empty
in /src/mosquitto/test/unit/lib/datatype_read.c:555
[] void []
TEST_string_read_truncated
in /src/mosquitto/test/unit/lib/datatype_read.c:565
[] void []
TEST_string_read_empty_string
in /src/mosquitto/test/unit/lib/datatype_read.c:602
[] void []
TEST_string_read_valid_string
in /src/mosquitto/test/unit/lib/datatype_read.c:617
[] void []
TEST_string_read_malformed_string
in /src/mosquitto/test/unit/lib/datatype_read.c:644
[] void []
TEST_string_read_mqtt_1_5_4_3
in /src/mosquitto/test/unit/lib/datatype_read.c:667
[] void []
TEST_byte_write
in /src/mosquitto/test/unit/lib/datatype_write.c:13
[] void []
TEST_uint16_write
in /src/mosquitto/test/unit/lib/datatype_write.c:41
[] void []
TEST_uint32_write
in /src/mosquitto/test/unit/lib/datatype_write.c:71
[] void []
TEST_string_write
in /src/mosquitto/test/unit/lib/datatype_write.c:101
[] void []
TEST_remap_valid
in /src/mosquitto/test/unit/broker/bridge_topic_test.c:56
[] void []
TEST_v6_message_store_no_ref
in /src/mosquitto/test/unit/broker/persist_write_test.c:166
[] void []
TEST_v5_full
in /src/mosquitto/test/unit/broker/persist_write_test.c:372
[] void []
TEST_v6_sub
in /src/mosquitto/test/unit/broker/persist_read_test.c:813
[] void []
TEST_v3_sub
in /src/mosquitto/test/unit/broker/persist_read_test.c:383
[] void []
TEST_single_client
in /src/mosquitto/test/unit/broker/keepalive_test.c:21
[] void []
TEST_single_client_update
in /src/mosquitto/test/unit/broker/keepalive_test.c:72
[] void []
TEST_over_max_keepalive
in /src/mosquitto/test/unit/broker/keepalive_test.c:121
[] void []
TEST_100k_random_clients
in /src/mosquitto/test/unit/broker/keepalive_test.c:162
[] void []
unpwd_check_callback
in /src/mosquitto/test/broker/c/auth_plugin_delayed.c:84
['int', 'void*', 'void*'] int []
my_publish_callback
in /src/mosquitto/client/pub_client.c:192
['struct mosquitto*', 'void*', 'int', 'int', 'mosquitto_property*'] void []
broker_control_callback
in /src/mosquitto/src/broker_control.c:211
['int', 'void*', 'void*'] int []
dynsec_control_callback
in /src/mosquitto/plugins/dynamic-security/control.c:118
['int', 'void*', 'void*'] int []
dynsec__main
in /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:750
['int', 'char*[]', 'struct mosq_ctrl*'] int []
TEST_F
in /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2726
[] void []
ctrl_shell__dynsec_cleanup
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:985
[] void []
ctrl_shell__on_message
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:495
['struct mosquitto*', 'void*', 'struct mosquitto_message*'] void []
ctrl_shell__broker_cleanup
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:178
[] void []
ctrl_config_parse
in /src/mosquitto/apps/mosquitto_ctrl/options.c:86
['struct mosq_config*', 'int*', 'char**[]'] int []
broker__payload_callback
in /src/mosquitto/apps/mosquitto_ctrl/broker.c:139
['struct mosq_ctrl*', 'long', 'void*'] void []
handle_response
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:161
['char*', 'cJSON*', 'char*'] void []
ctrl_shell_print_label_value
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:774
['unsigned int', 'char*', 'int', 'char*'] void []
delete_pwuser
in /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:239
['FILE*', 'FILE*', 'char*'] int []
update_file
in /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:272
['FILE*', 'FILE*'] int []
update_pwuser
in /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:299
['FILE*', 'FILE*', 'char*', 'char*', 'int'] int []
TEST_sub_add_single
in /src/mosquitto/test/unit/broker/subs_test.c:32
[] void []
CtrlShellOptionsTest::expect_request_response_success
in /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:95
['struct mosquitto*', 'char*', 'char*'] void []
CtrlShellOptionsTest::expect_request_response_empty
in /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:102
['struct mosquitto*', 'char*'] void []
CtrlShellTest::expect_request_response_success
in /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:94
['struct mosquitto*', 'char*', 'char*'] void []
CtrlShellTest::expect_request_response_empty
in /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:101
['struct mosquitto*', 'char*'] void []
CtrlShellCompletionTest::expect_setup
in /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:36
[] void []
CtrlShellBrokerTest::expect_request_response_success
in /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:98
['struct mosquitto*', 'char*', 'char*'] void []
CtrlShellBrokerTest::expect_request_response_empty
in /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:105
['struct mosquitto*', 'char*'] void []
TEST_maximum_packet_size
in /src/mosquitto/test/unit/lib/publish_test.c:8
[] void []
my_message_callback
in /src/mosquitto/client/sub_client.c:90
['struct mosquitto*', 'void*', 'struct mosquitto_message*', 'mosquitto_property*'] void []
send_set_default_acl_access
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:347
['char**'] int []
list_update
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:382
['char*'] int []
list_generic
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:392
['char*', 'char**'] int []
send_create_client
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:411
['char**'] int []
send_add_role_acl
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:453
['char**'] int []
send_remove_role_acl
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:494
['char**'] int []
send_modify
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:529
['char*', 'char*', 'char**'] int []
send_set_client_password
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:565
['char**'] int []
ctrl_shell_command_generic_arg0
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:206
['char*'] int []
ctrl_shell_command_generic_arg1
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:214
['char*', 'char*', 'char**'] int []
ctrl_shell_command_generic_int_arg1
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:231
['char*', 'char*', 'char**'] int []
ctrl_shell_command_generic_arg2
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:249
['char*', 'char*', 'char*', 'char**'] int []
mosqpp::mosquittopp::publish
in /src/mosquitto/lib/cpp/mosquittopp.cpp:387
['int*', 'char*', 'int', 'void*', 'int', 'bool'] int []
publish_sensor_data
in /src/mosquitto/examples/publish/basic-1.c:58
['struct mosquitto*'] void []
callback_mqtt
in /src/mosquitto/src/websockets.c:121
['struct lws*', 'enum lws_callback_reasons', 'void*', 'void*', 'size_t'] int []
mosqpp::subscribe_simple
in /src/mosquitto/lib/cpp/mosquittopp.cpp:221
['struct mosquitto_message**', 'int', 'bool', 'char*', 'int', 'char*', 'int', 'char*', 'int', 'bool', 'char*', 'char*', 'struct libmosquitto_will*', 'struct libmosquitto_tls*'] int []
mosqpp::subscribe_callback
in /src/mosquitto/lib/cpp/mosquittopp.cpp:245
['void*', 'char*', 'int', 'char*', 'int', 'char*', 'int', 'bool', 'char*', 'char*', 'struct libmosquitto_will*', 'struct libmosquitto_tls*'] mosqpp_EXPORT []
mosquitto__thread_main
in /src/mosquitto/lib/thread_mosq.c:102
['void*'] void []
mosqpp::mosquittopp::loop_forever
in /src/mosquitto/lib/cpp/mosquittopp.cpp:452
['int', 'int'] int []
client_request_response
in /src/mosquitto/apps/mosquitto_ctrl/client.c:124
['struct mosq_ctrl*'] int []
mosqpp::mosquittopp::loop
in /src/mosquitto/lib/cpp/mosquittopp.cpp:432
['int', 'int'] int []
mosqpp::mosquittopp::loop_read
in /src/mosquitto/lib/cpp/mosquittopp.cpp:442
['int'] int []
mosquitto_main_loop
in /src/mosquitto/src/loop.c:165
['struct mosquitto__listener_sock*', 'int'] int []
mosqpp::mosquittopp::publish_v5
in /src/mosquitto/lib/cpp/mosquittopp.cpp:392
['int*', 'char*', 'int', 'void*', 'int', 'bool', 'mosquitto_property*'] int []
my_connect_callback
in /src/mosquitto/client/pub_client.c:126
['struct mosquitto*', 'void*', 'int', 'int', 'mosquitto_property*'] void []
tick_callback
in /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:107
['int', 'void*', 'void*'] int []
mosquitto_persist_client_msg_delete
in /src/mosquitto/src/plugin_public.c:658
['struct mosquitto_client_msg*'] BROKER_EXPORT []
bridge__start_all
in /src/mosquitto/src/bridge.c:157
[] void []
bridge__on_connect
in /src/mosquitto/src/bridge.c:627
['struct mosquitto*'] int []
handle__subscribe
in /src/mosquitto/src/handle_subscribe.c:31
['struct mosquitto*'] int []
persist_sqlite__restore_cb
in /src/mosquitto/plugins/persist-sqlite/restore.c:437
['int', 'void*', 'void*'] int []
post_shutdown_cleanup
in /src/mosquitto/src/mosquitto.c:306
[] void []
fuzz_packet_read_base
in /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:30
['uint8_t*', 'size_t'] int []
acl_check_callback
in /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:91
['int', 'void*', 'void*'] int []
dynsec__tick_callback
in /src/mosquitto/plugins/dynamic-security/tick.c:23
['int', 'void*', 'void*'] int []
dynsec__handle_command
in /src/mosquitto/plugins/dynamic-security/control.c:33
['struct mosquitto_control_cmd*', 'void*'] int []
mosquitto_persist_client_delete
in /src/mosquitto/src/plugin_public.c:590
['char*'] BROKER_EXPORT []
mosqpp::mosquittopp::loop_misc
in /src/mosquitto/lib/cpp/mosquittopp.cpp:437
[] int []
broker__handle_control
in /src/mosquitto/src/broker_control.c:250
['struct mosquitto_control_cmd*', 'void*'] int []
persist_sqlite__client_msg_remove_cb
in /src/mosquitto/plugins/persist-sqlite/client_msgs.c:61
['int', 'void*', 'void*'] int []
conf_parse_uint
in /src/mosquitto/plugins/persist-sqlite/plugin.c:42
['char*', 'char*', 'unsigned int*'] int []
get_db_file
in /src/mosquitto/plugins/persist-sqlite/plugin.c:65
['struct mosquitto_opt*', 'int'] int []
persist_sqlite__init
in /src/mosquitto/plugins/persist-sqlite/init.c:351
['struct mosquitto_sqlite*'] int []
persist_sqlite__cleanup
in /src/mosquitto/plugins/persist-sqlite/init.c:386
['struct mosquitto_sqlite*'] void []
dynsec__config_load
in /src/mosquitto/plugins/dynamic-security/config.c:91
['struct dynsec__data*'] int []
dynsec__log_write_error
in /src/mosquitto/plugins/dynamic-security/config.c:169
['char*'] void []
dynsec__write_json_config
in /src/mosquitto/plugins/dynamic-security/config.c:174
['FILE*', 'void*'] int []
mosquitto_log_vprintf
in /src/mosquitto/src/logging.c:414
['int', 'char*', 'va_list'] BROKER_EXPORT []
sys_tree__init
in /src/mosquitto/src/sys_tree.c:147
[] void []
TEST_persistence_disabled
in /src/mosquitto/test/unit/broker/persist_read_test.c:35
[] void []
TEST_empty_file
in /src/mosquitto/test/unit/broker/persist_read_test.c:50
[] void []
TEST_v6_message_store_props
in /src/mosquitto/test/unit/broker/persist_read_test.c:551
[] void []
TEST_v6_client
in /src/mosquitto/test/unit/broker/persist_read_test.c:626
[] void []
TEST_v6_client_message
in /src/mosquitto/test/unit/broker/persist_read_test.c:666
[] void []
TEST_v6_client_message_props
in /src/mosquitto/test/unit/broker/persist_read_test.c:716
[] void []
TEST_v3_message_store
in /src/mosquitto/test/unit/broker/persist_read_test.c:213
[] void []
TEST_v3_client
in /src/mosquitto/test/unit/broker/persist_read_test.c:250
[] void []
TEST_v3_client_message
in /src/mosquitto/test/unit/broker/persist_read_test.c:279
[] void []
TEST_v3_retain
in /src/mosquitto/test/unit/broker/persist_read_test.c:333
[] void []
TEST_v4_message_store
in /src/mosquitto/test/unit/broker/persist_read_test.c:418
[] void []
TEST_v6_message_store
in /src/mosquitto/test/unit/broker/persist_read_test.c:515
[] void []
TEST_v5_client
in /src/mosquitto/test/unit/broker/persist_read_test.c:597
[] void []
TEST_v6_retain
in /src/mosquitto/test/unit/broker/persist_read_test.c:766
[] void []
mosquitto_set_clientid
in /src/mosquitto/src/plugin_public.c:334
['struct mosquitto*', 'char*'] BROKER_EXPORT []
mosquitto_persist_client_update
in /src/mosquitto/src/plugin_public.c:540
['struct mosquitto_client*'] BROKER_EXPORT []
handle__unsubscribe
in /src/mosquitto/src/handle_unsubscribe.c:29
['struct mosquitto*'] int []
get_username_from_cert
in /src/mosquitto/src/handle_connect.c:442
['struct mosquitto*'] int []
TEST_remap_invalid
in /src/mosquitto/test/unit/broker/bridge_topic_test.c:66
[] void []
psk_server_callback
in /src/mosquitto/src/net.c:296
['SSL*', 'char*', 'unsigned char*', 'unsigned int'] unsigned int []
mosquitto_subscription_delete
in /src/mosquitto/src/plugin_public.c:740
['char*', 'char*'] BROKER_EXPORT []
dump__base_msg_chunk_process
in /src/mosquitto/apps/db_dump/db_dump.c:232
['FILE*', 'uint32_t'] int []
plugin__message_in_callback
in /src/mosquitto/plugins/sparkplug-aware/on_message.c:13
['int', 'void*', 'void*'] int []
dynsec_roles__cleanup
in /src/mosquitto/plugins/dynamic-security/roles.c:96
['struct dynsec__data*'] void []
dynsec_groups__cleanup
in /src/mosquitto/plugins/dynamic-security/groups.c:171
['struct dynsec__data*'] void []
dynsec_clients__cleanup
in /src/mosquitto/plugins/dynamic-security/clients.c:91
['struct dynsec__data*'] void []
cjson_array_foreach_should_not_dereference_null_pointer
in /src/cJSON/tests/misc_tests.c:59
[] void []
mosqpp::mosquittopp::ext_auth_continue
in /src/mosquitto/lib/cpp/mosquittopp.cpp:357
['char*', 'uint16_t', 'void*', 'mosquitto_property*'] int []
net__read_ws
in /src/mosquitto/lib/net_ws.c:221
['struct mosquitto*', 'void*', 'size_t'] ssize_t []
CtrlShellHelpTest::expect_disconnect
in /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:60
['struct mosquitto*'] void []
CtrlShellPreConnectTest::expect_disconnect
in /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:60
['struct mosquitto*'] void []
CtrlShellOptionsTest::expect_disconnect
in /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:68
['struct mosquitto*'] void []
CtrlShellTest::expect_disconnect
in /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:67
['struct mosquitto*'] void []
CtrlShellBrokerTest::expect_disconnect
in /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:71
['struct mosquitto*'] void []
CtrlShellDynsecTest::expect_disconnect
in /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:67
['struct mosquitto*'] void []
on_message_callback
in /src/mosquitto/lib/helpers.c:52
['struct mosquitto*', 'void*', 'struct mosquitto_message*'] void []
on_message_simple
in /src/mosquitto/lib/helpers.c:63
['struct mosquitto*', 'void*', 'struct mosquitto_message*'] int []
mosqpp::mosquittopp::disconnect
in /src/mosquitto/lib/cpp/mosquittopp.cpp:347
[] int []
mosqpp::mosquittopp::disconnect_v5
in /src/mosquitto/lib/cpp/mosquittopp.cpp:352
['int', 'mosquitto_property*'] int []
my_signal_handler
in /src/mosquitto/client/sub_client.c:72
['int'] void []
my_subscribe_callback
in /src/mosquitto/client/sub_client.c:171
['struct mosquitto*', 'void*', 'int', 'int', 'int*'] void []
timeout_cb
in /src/mosquitto/client/sub_client.c:54
['PVOID', 'BOOLEAN'] void []
send__auth
in /src/mosquitto/src/send_auth.c:28
['struct mosquitto*', 'uint8_t', 'void*', 'uint16_t'] int []
will__read
in /src/mosquitto/src/handle_connect.c:330
['struct mosquitto*', 'char*', 'struct mosquitto_message_all**', 'uint8_t', 'int'] int []
control__process
in /src/mosquitto/src/control.c:31
['struct mosquitto*', 'struct mosquitto__base_msg*'] int []
db__message_write_queued_in
in /src/mosquitto/src/database.c:1438
['struct mosquitto*'] int []
CtrlShellHelpTest::expect_connect
in /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:44
['struct mosquitto*', 'char*', 'int'] void []
CtrlShellPreConnectTest::expect_connect
in /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:44
['struct mosquitto*', 'char*', 'int'] void []
CtrlShellOptionsTest::expect_connect
in /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:52
['struct mosquitto*', 'char*', 'int'] void []
CtrlShellTest::expect_connect
in /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:51
['struct mosquitto*', 'char*', 'int'] void []
CtrlShellBrokerTest::expect_connect
in /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:53
['struct mosquitto*', 'char*', 'int'] void []
srv_callback
in /src/mosquitto/lib/srv_mosq.c:36
['void*', 'int', 'int', 'unsigned char*', 'int'] void []
mosqpp::mosquittopp::connect
in /src/mosquitto/lib/cpp/mosquittopp.cpp:317
['char*', 'int', 'int', 'char*'] int []
mosqpp::mosquittopp::connect_v5
in /src/mosquitto/lib/cpp/mosquittopp.cpp:322
['char*', 'int', 'int', 'char*', 'mosquitto_property*'] int []
mosquitto_connect_async
in /src/mosquitto/lib/connect.c:132
['struct mosquitto*', 'char*', 'int', 'int'] int []
mosqpp::mosquittopp::connect_async
in /src/mosquitto/lib/cpp/mosquittopp.cpp:332
['char*', 'int', 'int', 'char*'] int []
mosqpp::mosquittopp::reconnect_async
in /src/mosquitto/lib/cpp/mosquittopp.cpp:342
[] int []
mosqpp::mosquittopp::reconnect
in /src/mosquitto/lib/cpp/mosquittopp.cpp:337
[] int []
CtrlShellOptionsTest::expect_broker
in /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:133
['char*', 'int'] void []
CtrlShellBrokerTest::expect_broker
in /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:136
['char*', 'int'] void []
on_connect_reconnect
in /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:467
['struct mosquitto*', 'void*', 'int'] void []
mosqpp::mosquittopp::subscribe
in /src/mosquitto/lib/cpp/mosquittopp.cpp:412
['int*', 'char*', 'int'] int []
mosqpp::mosquittopp::subscribe_v5
in /src/mosquitto/lib/cpp/mosquittopp.cpp:417
['int*', 'char*', 'int', 'int', 'mosquitto_property*'] int []
mosqpp::mosquittopp::unsubscribe
in /src/mosquitto/lib/cpp/mosquittopp.cpp:422
['int*', 'char*'] int []
mosqpp::mosquittopp::unsubscribe_v5
in /src/mosquitto/lib/cpp/mosquittopp.cpp:427
['int*', 'char*', 'mosquitto_property*'] int []
update_file_cb
in /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:260
['FILE*', 'FILE*', 'char*', 'char*', 'char*', 'struct cb_helper*'] int []
update_pwuser_cb
in /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:281
['FILE*', 'FILE*', 'char*', 'char*', 'char*', 'struct cb_helper*'] int []
unpwd__free_item
in /src/mosquitto/src/security_default.c:783
['struct mosquitto__unpwd**', 'struct mosquitto__unpwd*'] void []
dump__sub_chunk_process
in /src/mosquitto/apps/db_dump/db_dump.c:353
['FILE*', 'uint32_t'] int []
dump__client_chunk_process
in /src/mosquitto/apps/db_dump/db_dump.c:145
['FILE*', 'uint32_t'] int []
dump__client_msg_chunk_process
in /src/mosquitto/apps/db_dump/db_dump.c:188
['FILE*', 'uint32_t'] int []
cleanup_client_stats
in /src/mosquitto/apps/db_dump/db_dump.c:405
[] void []
cleanup_msg_store
in /src/mosquitto/apps/db_dump/db_dump.c:423
[] void []
persist_sqlite__base_msg_add_cb
in /src/mosquitto/plugins/persist-sqlite/base_msgs.c:42
['int', 'void*', 'void*'] int []
dynsec_kicklist__cleanup
in /src/mosquitto/plugins/dynamic-security/kicklist.c:65
['struct dynsec__data*'] void []
callback_connect
in /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:114
['int', 'void*', 'void*'] int []
callback_disconnect
in /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:145
['int', 'void*', 'void*'] int []