Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues
Report generation date: 2026-07-16

Project overview: jsoncons

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
fuzz_ubjson_parser_max /src/jsoncons/./fuzzers/fuzz_ubjson_parser_max.cpp 162 96 7 12 706 420 fuzz_ubjson_parser_max.cpp
fuzz_bson_parser_max /src/jsoncons/./fuzzers/fuzz_bson_parser_max.cpp 169 94 7 15 740 371 fuzz_bson_parser_max.cpp
fuzz_bigint /src/jsoncons/./fuzzers/fuzz_bigint.cpp 163 7 11 4 728 413 fuzz_bigint.cpp
fuzz_ubjson_encoder /src/jsoncons/./fuzzers/fuzz_ubjson_encoder.cpp 173 131 7 14 728 440 fuzz_ubjson_encoder.cpp
fuzz_cbor_parser_max /src/jsoncons/./fuzzers/fuzz_cbor_parser_max.cpp 624 427 14 22 4274 2410 fuzz_cbor_parser_max.cpp
fuzz_msgpack_parser_max /src/jsoncons/./fuzzers/fuzz_msgpack_parser_max.cpp 309 227 12 15 1358 733 fuzz_msgpack_parser_max.cpp
fuzz_msgpack_encoder /src/jsoncons/./fuzzers/fuzz_msgpack_encoder.cpp 326 287 12 17 1375 757 fuzz_msgpack_encoder.cpp
fuzz_json_encoder /src/jsoncons/./fuzzers/fuzz_json_encoder.cpp 274 311 10 16 1940 748 fuzz_json_encoder.cpp
fuzz_bson_encoder /src/jsoncons/./fuzzers/fuzz_bson_encoder.cpp 180 132 7 17 760 389 fuzz_bson_encoder.cpp
fuzz_ubjson /src/jsoncons/./fuzzers/fuzz_ubjson.cpp 317 740 9 23 1011 682 fuzz_ubjson.cpp
fuzz_json_cursor /src/jsoncons/./fuzzers/fuzz_json_cursor.cpp 328 170 12 23 2418 991 fuzz_json_cursor.cpp
fuzz_json_parser_max /src/jsoncons/./fuzzers/fuzz_json_parser_max.cpp 235 103 10 13 1842 656 fuzz_json_parser_max.cpp
fuzz_bson /src/jsoncons/./fuzzers/fuzz_bson.cpp 324 735 9 26 1045 633 fuzz_bson.cpp
fuzz_cbor_encoder /src/jsoncons/./fuzzers/fuzz_cbor_encoder.cpp 657 539 14 24 4352 2467 fuzz_cbor_encoder.cpp
fuzz_parse /src/jsoncons/./fuzzers/fuzz_parse.cpp 303 694 10 16 1884 746 fuzz_parse.cpp
fuzz_csv /src/jsoncons/./fuzzers/fuzz_csv.cpp 484 771 15 23 3478 1649 fuzz_csv.cpp
fuzz_msgpack /src/jsoncons/./fuzzers/fuzz_msgpack.cpp 470 863 14 25 1670 1001 fuzz_msgpack.cpp
fuzz_cbor /src/jsoncons/./fuzzers/fuzz_cbor.cpp 795 1065 16 31 4596 2691 fuzz_cbor.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: fuzz_ubjson_parser_max

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 27 14.3%
gold [1:9] 19 10.1%
yellow [10:29] 9 4.78%
greenyellow [30:49] 42 22.3%
lawngreen 50+ 91 48.4%
All colors 188 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
6 30 jsoncons::stream_source >::fill_buffer(unsigned char*, unsigned long) call site: 00030 __cxa_end_catch
3 181 LLVMFuzzerTestOneInput call site: 00181
2 9 jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::basic_ubjson_parser , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&, jsoncons::ubjson::ubjson_decode_options const&, std::__1::allocator const&) call site: 00009
2 12 jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&) call site: 00012
2 20 LLVMFuzzerTestOneInput call site: 00020
2 58 jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::read_value(jsoncons::basic_json_visitor &, unsigned char, std::__1::error_code&) call site: 00058
2 61 std::__1::enable_if ::type jsoncons::binary::big_to_native (unsigned char const*, unsigned long) call site: 00061 _ZN8jsoncons6binary9byte_swapIjEENSt3__19enable_ifIXaasr3std11is_integralIT_EE5valueeqstS4_Lm4EES4_E4typeES4_
2 175 jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::parse(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00175 __clang_call_terminate
2 185 LLVMFuzzerTestOneInput call site: 00185
1 7 jsoncons::ubjson::basic_ubjson_reader >, std::__1::allocator >::basic_ubjson_reader , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&, jsoncons::basic_json_visitor &, jsoncons::ubjson::ubjson_decode_options const&, std::__1::allocator const&) call site: 00007
1 118 jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::begin_array(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00118
1 164 jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::parse(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00164

Runtime coverage analysis

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

Files reached

filename functions hit
/src/jsoncons/./fuzzers/fuzz_ubjson_parser_max.cpp 1
/src/jsoncons/./include/jsoncons/json_visitor.hpp 20
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_options.hpp 7
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_reader.hpp 3
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_parser.hpp 13
/src/jsoncons/./include/jsoncons/ser_utils.hpp 2
/src/jsoncons/./include/jsoncons/source.hpp 17
/src/jsoncons/./include/jsoncons/utility/binary.hpp 14
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 2
/src/jsoncons/./include/jsoncons/detail/span.hpp 4
/src/jsoncons/./include/jsoncons/utility/read_number.hpp 1
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 1

Fuzzer: fuzz_bson_parser_max

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 20 11.7%
gold [1:9] 5 2.94%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 145 85.2%
All colors 170 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
6 29 jsoncons::stream_source >::fill_buffer(unsigned char*, unsigned long) call site: 00029 __cxa_end_catch
3 163 LLVMFuzzerTestOneInput call site: 00163
2 9 jsoncons::bson::basic_bson_parser >, std::__1::allocator >::basic_bson_parser , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&, jsoncons::bson::bson_decode_options const&, std::__1::allocator const&) call site: 00009
2 12 jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&) call site: 00012
2 19 LLVMFuzzerTestOneInput call site: 00019
2 47 jsoncons::bson::basic_bson_parser >, std::__1::allocator >::end_document(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00047 __clang_call_terminate
2 167 LLVMFuzzerTestOneInput call site: 00167
1 7 jsoncons::bson::basic_bson_reader >, std::__1::allocator >::basic_bson_reader , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&, jsoncons::basic_json_visitor &, jsoncons::bson::bson_decode_options const&, std::__1::allocator const&) call site: 00007

Runtime coverage analysis

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

Files reached

filename functions hit
/src/jsoncons/./fuzzers/fuzz_bson_parser_max.cpp 1
/src/jsoncons/./include/jsoncons/json_visitor.hpp 19
/src/jsoncons/./include/jsoncons_ext/bson/bson_options.hpp 6
/src/jsoncons/./include/jsoncons_ext/bson/bson_reader.hpp 3
/src/jsoncons/./include/jsoncons_ext/bson/bson_parser.hpp 13
/src/jsoncons/./include/jsoncons/ser_utils.hpp 2
/src/jsoncons/./include/jsoncons/source.hpp 17
/src/jsoncons/./include/jsoncons/utility/binary.hpp 4
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 2
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 1
/src/jsoncons/./include/jsoncons/detail/span.hpp 4
/src/jsoncons/./include/jsoncons/utility/byte_string.hpp 3
/src/jsoncons/./include/jsoncons_ext/bson/bson_decimal128.hpp 3
/src/jsoncons/./include/jsoncons/utility/write_number.hpp 1
/src/jsoncons/./include/jsoncons_ext/bson/bson_oid.hpp 5

Fuzzer: fuzz_bigint

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 92 26.4%
gold [1:9] 3 0.86%
yellow [10:29] 8 2.29%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 245 70.4%
All colors 348 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
36 133 jsoncons::operator<(jsoncons::basic_bigint > const&, jsoncons::basic_bigint > const&) call site: 00133
10 108 jsoncons::basic_bigint >::get_storage_view() const call site: 00108
10 234 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00234 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
6 326 jsoncons::basic_bigint >::operator>>=(unsigned long) call site: 00326
5 271 jsoncons::basic_bigint >::operator<<=(unsigned long) call site: 00271
3 26 jsoncons::detail::bigint_storage >::allocated_storage::reserve(unsigned long, std::__1::allocator const&) call site: 00026 __clang_call_terminate
3 100 jsoncons::detail::bigint_storage >::allocated_storage::allocated_storage(jsoncons::detail::bigint_storage >::allocated_storage const&, std::__1::allocator const&) call site: 00100 __clang_call_terminate
3 104 jsoncons::basic_bigint >::set_negative(bool) call site: 00104
3 186 jsoncons::to_bigint_result jsoncons::to_bigint >(char const*, unsigned long, jsoncons::basic_bigint >&, std::__1::allocator const&) call site: 00186 __cxa_allocate_exception
2 4 jsoncons::basic_bigint >::basic_bigint (char const*, std::__1::allocator const&) call site: 00004
2 36 jsoncons::detail::bigint_storage >::allocated_storage::round_up(unsigned long) call site: 00036
2 84 _ZN8jsoncons6detail14bigint_storageINSt3__19allocatorImEEEC2ImEET_RKS4_PNS2_9enable_ifIXsr3std11is_integralIS7_EE5valueEvE4typeE call site: 00084

Runtime coverage analysis

Covered functions
75
Functions that are reachable but not covered
17
Reachable functions
163
Percentage of reachable functions covered
89.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
/src/jsoncons/./fuzzers/fuzz_bigint.cpp 1
/src/jsoncons/./include/jsoncons/utility/bigint.hpp 78
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 1
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp 1

Fuzzer: fuzz_ubjson_encoder

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 23 11.6%
gold [1:9] 2 1.01%
yellow [10:29] 5 2.52%
greenyellow [30:49] 11 5.55%
lawngreen 50+ 157 79.2%
All colors 198 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
6 40 jsoncons::stream_source >::fill_buffer(unsigned char*, unsigned long) call site: 00040 __cxa_end_catch
3 191 LLVMFuzzerTestOneInput call site: 00191
2 11 jsoncons::ubjson::basic_ubjson_encoder >, void>, std::__1::allocator >::basic_ubjson_encoder(jsoncons::bytes_sink >, void>&&, std::__1::allocator const&) call site: 00011
2 19 jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::basic_ubjson_parser , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&, jsoncons::ubjson::ubjson_decode_options const&, std::__1::allocator const&) call site: 00019
2 22 jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&) call site: 00022
2 30 LLVMFuzzerTestOneInput call site: 00030
2 185 jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::parse(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00185 __clang_call_terminate
1 5 jsoncons::ubjson::basic_ubjson_encoder >, void>, std::__1::allocator >::basic_ubjson_encoder(jsoncons::bytes_sink >, void>&&, std::__1::allocator const&) call site: 00005
1 9 jsoncons::ubjson::basic_ubjson_encoder >, void>, std::__1::allocator >::basic_ubjson_encoder(jsoncons::bytes_sink >, void>&&, jsoncons::ubjson::ubjson_encode_options const&, std::__1::allocator const&) call site: 00009
1 17 jsoncons::ubjson::basic_ubjson_reader >, std::__1::allocator >::basic_ubjson_reader , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&, jsoncons::basic_json_visitor &, jsoncons::ubjson::ubjson_decode_options const&, std::__1::allocator const&) call site: 00017
1 128 jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::begin_array(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00128

Runtime coverage analysis

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

Files reached

filename functions hit
/src/jsoncons/./fuzzers/fuzz_ubjson_encoder.cpp 1
/src/jsoncons/./include/jsoncons/sink.hpp 2
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_encoder.hpp 3
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_options.hpp 10
/src/jsoncons/./include/jsoncons/json_visitor.hpp 18
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_reader.hpp 3
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_parser.hpp 13
/src/jsoncons/./include/jsoncons/ser_utils.hpp 2
/src/jsoncons/./include/jsoncons/source.hpp 17
/src/jsoncons/./include/jsoncons/utility/binary.hpp 14
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 2
/src/jsoncons/./include/jsoncons/detail/span.hpp 4
/src/jsoncons/./include/jsoncons/utility/read_number.hpp 1
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 1

Fuzzer: fuzz_cbor_parser_max

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 1055 100.%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 0 0.0%
All colors 1055 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
1054 0 EP call site: 00000 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEpLImEENS1_9enable_ifIXaasr10ext_traits19is_unsigned_integerIT_EE5valuelestS7_Lm8EERS4_E4typeES7_

Runtime coverage analysis

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

Files reached

filename functions hit
/src/jsoncons/./fuzzers/fuzz_cbor_parser_max.cpp 1
/src/jsoncons/./include/jsoncons/json_visitor.hpp 6
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_options.hpp 6
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_reader.hpp 3
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_parser.hpp 44
/src/jsoncons/./include/jsoncons/ser_utils.hpp 2
/src/jsoncons/./include/jsoncons/source.hpp 18
/src/jsoncons/./include/jsoncons/generic_visitor.hpp 20
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 1
/src/jsoncons/./include/jsoncons/utility/binary.hpp 13
/src/jsoncons/./include/jsoncons/utility/byte_string.hpp 7
/src/jsoncons/./include/jsoncons/utility/bigint.hpp 75
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp 1
/src/jsoncons/./include/jsoncons/detail/span.hpp 54
/src/jsoncons/./include/jsoncons/typed_array.hpp 11
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_typed_array_iterator.hpp 36
/src/jsoncons/./include/jsoncons/utility/function_objects.hpp 11
/src/jsoncons/./include/jsoncons/config/compiler_support.hpp 1
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_detail.hpp 1
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 2
/src/jsoncons/./include/jsoncons/utility/write_number.hpp 7
/src/jsoncons/./include/jsoncons/detail/expected.hpp 8

Fuzzer: fuzz_msgpack_parser_max

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 122 23.1%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 405 76.8%
All colors 527 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
16 446 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00446
15 274 jsoncons::detail::bigint_storage >::operator=(jsoncons::detail::bigint_storage > const&) call site: 00274
14 370 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00370 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
11 395 jsoncons::basic_bigint >::operator<<=(unsigned long) call site: 00395
6 41 jsoncons::stream_source >::fill_buffer(unsigned char*, unsigned long) call site: 00041 __cxa_end_catch
6 424 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00424
5 260 jsoncons::operator<(jsoncons::basic_bigint > const&, jsoncons::basic_bigint > const&) call site: 00260
5 440 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00440 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
4 337 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00337 __cxa_allocate_exception
4 521 LLVMFuzzerTestOneInput call site: 00521
3 242 jsoncons::basic_bigint >::operator-=(jsoncons::basic_bigint > const&) call site: 00242
2 9 jsoncons::msgpack::basic_msgpack_parser >, std::__1::allocator >::basic_msgpack_parser , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&, jsoncons::msgpack::msgpack_decode_options const&, std::__1::allocator const&) call site: 00009

Runtime coverage analysis

Covered functions
229
Functions that are reachable but not covered
38
Reachable functions
309
Percentage of reachable functions covered
87.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
/src/jsoncons/./fuzzers/fuzz_msgpack_parser_max.cpp 1
/src/jsoncons/./include/jsoncons/json_visitor.hpp 6
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_options.hpp 6
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_reader.hpp 3
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_parser.hpp 10
/src/jsoncons/./include/jsoncons/ser_utils.hpp 2
/src/jsoncons/./include/jsoncons/source.hpp 15
/src/jsoncons/./include/jsoncons/generic_visitor.hpp 17
/src/jsoncons/./include/jsoncons/utility/binary.hpp 20
/src/jsoncons/./include/jsoncons/detail/span.hpp 4
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 2
/src/jsoncons/./include/jsoncons/utility/byte_string.hpp 3
/src/jsoncons/./include/jsoncons/utility/bigint.hpp 75
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 1
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp 1

Fuzzer: fuzz_msgpack_encoder

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 108 20.0%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 431 79.9%
All colors 539 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
16 456 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00456
15 284 jsoncons::detail::bigint_storage >::operator=(jsoncons::detail::bigint_storage > const&) call site: 00284
11 405 jsoncons::basic_bigint >::operator<<=(unsigned long) call site: 00405
6 51 jsoncons::stream_source >::fill_buffer(unsigned char*, unsigned long) call site: 00051 __cxa_end_catch
6 434 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00434
5 270 jsoncons::operator<(jsoncons::basic_bigint > const&, jsoncons::basic_bigint > const&) call site: 00270
4 347 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00347 __cxa_allocate_exception
4 531 LLVMFuzzerTestOneInput call site: 00531
3 252 jsoncons::basic_bigint >::operator-=(jsoncons::basic_bigint > const&) call site: 00252
3 450 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00450 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
2 11 jsoncons::msgpack::basic_msgpack_encoder >, void>, std::__1::allocator >::basic_msgpack_encoder(jsoncons::bytes_sink >, void>&&, std::__1::allocator const&) call site: 00011
2 19 jsoncons::msgpack::basic_msgpack_parser >, std::__1::allocator >::basic_msgpack_parser , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&, jsoncons::msgpack::msgpack_decode_options const&, std::__1::allocator const&) call site: 00019

Runtime coverage analysis

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

Files reached

filename functions hit
/src/jsoncons/./fuzzers/fuzz_msgpack_encoder.cpp 1
/src/jsoncons/./include/jsoncons/sink.hpp 2
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_encoder.hpp 3
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_options.hpp 9
/src/jsoncons/./include/jsoncons/json_visitor.hpp 6
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_reader.hpp 3
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_parser.hpp 10
/src/jsoncons/./include/jsoncons/ser_utils.hpp 2
/src/jsoncons/./include/jsoncons/source.hpp 15
/src/jsoncons/./include/jsoncons/generic_visitor.hpp 17
/src/jsoncons/./include/jsoncons/utility/binary.hpp 20
/src/jsoncons/./include/jsoncons/detail/span.hpp 4
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 2
/src/jsoncons/./include/jsoncons/utility/byte_string.hpp 3
/src/jsoncons/./include/jsoncons/utility/bigint.hpp 75
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 1
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp 1

Fuzzer: fuzz_json_encoder

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 61 18.2%
gold [1:9] 2 0.59%
yellow [10:29] 1 0.29%
greenyellow [30:49] 4 1.19%
lawngreen 50+ 266 79.6%
All colors 334 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 314 jsoncons::basic_json_reader >, std::__1::allocator >::check_done(std::__1::error_code&) call site: 00314
4 151 jsoncons::basic_json_parser >::end_positive_value(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00151
4 290 jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00290 __cxa_allocate_exception
3 37 jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&) call site: 00037
3 81 jsoncons::stream_source >::fill_buffer(char*, unsigned long) call site: 00081 __cxa_end_catch
3 123 _ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_ call site: 00123
3 135 jsoncons::decstr_to_double(char const*, unsigned long, double&) call site: 00135
2 34 jsoncons::json_source_adaptor > >::json_source_adaptor , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&) call site: 00034
2 52 jsoncons::basic_json_parser >::basic_json_parser(jsoncons::basic_json_decode_options const&, std::__1::allocator const&) call site: 00052 nan
2 65 jsoncons::basic_json_reader >, std::__1::allocator >::basic_json_reader , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&, jsoncons::basic_json_visitor &, std::__1::allocator const&) call site: 00065
2 109 _ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_ call site: 00109
2 131 jsoncons::decstr_to_double(char const*, unsigned long, double&) call site: 00131 strtod

Runtime coverage analysis

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

Files reached

filename functions hit
/src/jsoncons/./fuzzers/fuzz_json_encoder.cpp 1
/src/jsoncons/./include/jsoncons/sink.hpp 3
/src/jsoncons/./include/jsoncons/json_encoder.hpp 3
/src/jsoncons/./include/jsoncons/json_options.hpp 29
/src/jsoncons/./include/jsoncons/json_visitor.hpp 18
/src/jsoncons/./include/jsoncons/utility/write_number.hpp 1
/src/jsoncons/./include/jsoncons/json_reader.hpp 7
/src/jsoncons/./include/jsoncons/source_adaptor.hpp 5
/src/jsoncons/./include/jsoncons/source.hpp 11
/src/jsoncons/./include/jsoncons/json_parser.hpp 34
/src/jsoncons/./include/jsoncons/ser_utils.hpp 2
/src/jsoncons/./include/jsoncons/detail/span.hpp 4
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 7
/src/jsoncons/./include/jsoncons/utility/read_number.hpp 10
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp 2
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 1

Fuzzer: fuzz_bson_encoder

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 22 12.2%
gold [1:9] 5 2.77%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 153 85.0%
All colors 180 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
6 39 jsoncons::stream_source >::fill_buffer(unsigned char*, unsigned long) call site: 00039 __cxa_end_catch
3 173 LLVMFuzzerTestOneInput call site: 00173
2 11 jsoncons::bson::basic_bson_encoder >, void>, std::__1::allocator >::basic_bson_encoder(jsoncons::bytes_sink >, void>&&, std::__1::allocator const&) call site: 00011
2 19 jsoncons::bson::basic_bson_parser >, std::__1::allocator >::basic_bson_parser , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&, jsoncons::bson::bson_decode_options const&, std::__1::allocator const&) call site: 00019
2 22 jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&) call site: 00022
2 29 LLVMFuzzerTestOneInput call site: 00029
2 57 jsoncons::bson::basic_bson_parser >, std::__1::allocator >::end_document(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00057 __clang_call_terminate
1 5 jsoncons::bson::basic_bson_encoder >, void>, std::__1::allocator >::basic_bson_encoder(jsoncons::bytes_sink >, void>&&, std::__1::allocator const&) call site: 00005
1 9 jsoncons::bson::basic_bson_encoder >, void>, std::__1::allocator >::basic_bson_encoder(jsoncons::bytes_sink >, void>&&, jsoncons::bson::bson_encode_options const&, std::__1::allocator const&) call site: 00009
1 17 jsoncons::bson::basic_bson_reader >, std::__1::allocator >::basic_bson_reader , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&, jsoncons::basic_json_visitor &, jsoncons::bson::bson_decode_options const&, std::__1::allocator const&) call site: 00017

Runtime coverage analysis

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

Files reached

filename functions hit
/src/jsoncons/./fuzzers/fuzz_bson_encoder.cpp 1
/src/jsoncons/./include/jsoncons/sink.hpp 2
/src/jsoncons/./include/jsoncons_ext/bson/bson_encoder.hpp 3
/src/jsoncons/./include/jsoncons_ext/bson/bson_options.hpp 9
/src/jsoncons/./include/jsoncons/json_visitor.hpp 17
/src/jsoncons/./include/jsoncons_ext/bson/bson_reader.hpp 3
/src/jsoncons/./include/jsoncons_ext/bson/bson_parser.hpp 13
/src/jsoncons/./include/jsoncons/ser_utils.hpp 2
/src/jsoncons/./include/jsoncons/source.hpp 17
/src/jsoncons/./include/jsoncons/utility/binary.hpp 4
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 2
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 1
/src/jsoncons/./include/jsoncons/detail/span.hpp 4
/src/jsoncons/./include/jsoncons/utility/byte_string.hpp 3
/src/jsoncons/./include/jsoncons_ext/bson/bson_decimal128.hpp 3
/src/jsoncons/./include/jsoncons/utility/write_number.hpp 1
/src/jsoncons/./include/jsoncons_ext/bson/bson_oid.hpp 5

Fuzzer: fuzz_ubjson

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 308 100.%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 0 0.0%
All colors 308 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
307 0 EP call site: 00000 _ZN8jsoncons6ubjson17try_decode_ubjsonINS_10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEEEEENS4_9enable_ifIXsr10ext_traits13is_basic_jsonIT_EE5valueENS_6detail8expectedIS9_NS_10read_errorEEEE4typeERNS4_13basic_istreamIcNS4_11char_traitsIcEEEERKNS0_21ubjson_decode_optionsE

Runtime coverage analysis

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

Files reached

filename functions hit
/src/jsoncons/./fuzzers/fuzz_ubjson.cpp 1
/src/jsoncons/./include/jsoncons_ext/ubjson/decode_ubjson.hpp 2
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_options.hpp 7
/src/jsoncons/./include/jsoncons/json_decoder.hpp 4
/src/jsoncons/./include/jsoncons/json_visitor.hpp 18
/src/jsoncons/./include/jsoncons/basic_json.hpp 30
/src/jsoncons/./include/jsoncons/utility/heap_string.hpp 6
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp 4
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 3
/src/jsoncons/./include/jsoncons/allocator_holder.hpp 1
/src/jsoncons/./include/jsoncons/json_filter.hpp 5
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_reader.hpp 5
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_parser.hpp 15
/src/jsoncons/./include/jsoncons/ser_utils.hpp 7
/src/jsoncons/./include/jsoncons/source.hpp 18
/src/jsoncons/./include/jsoncons/utility/binary.hpp 14
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 2
/src/jsoncons/./include/jsoncons/detail/span.hpp 4
/src/jsoncons/./include/jsoncons/utility/read_number.hpp 1
/src/jsoncons/./include/jsoncons/detail/expected.hpp 9
/src/jsoncons/./include/jsoncons/json_type.hpp 1
/src/jsoncons/./include/jsoncons/json_exception.hpp 4
/usr/local/bin/../include/c++/v1/__exception/exception.h 1

Fuzzer: fuzz_json_cursor

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 171 41.5%
gold [1:9] 16 3.88%
yellow [10:29] 7 1.69%
greenyellow [30:49] 2 0.48%
lawngreen 50+ 216 52.4%
All colors 412 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
49 207 jsoncons::basic_json_parser >::parse_false(char const*, jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00207
30 350 void jsoncons::prettify_string , std::__1::allocator > >(char const*, unsigned long, int, int, int, std::__1::basic_string , std::__1::allocator >&) call site: 00350 snprintf
18 310 jsoncons::write_double::write_double(jsoncons::float_chars_format, int) call site: 00310 ldexp
8 291 _ZNK8jsoncons16basic_staj_eventIcE4get_INSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEES8_cEENS3_9enable_ifIXaasr10ext_traits9is_stringIT_EE5valuesr3std7is_sameINSB_10value_typeET1_EE5valueESB_E4typeET0_RNS3_10error_codeE call site: 00291 _ZN8jsoncons15bytes_to_stringIPKhNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEENS3_9enable_ifIXaasr3std7is_sameINS3_15iterator_traitsIT_E10value_typeEhEE5valuesr10ext_traits9is_stringIT0_EE5valueEmE4typeESC_SC_NS_12semantic_tagERSF_
8 389 bool jsoncons::dtoa_general , std::__1::allocator > >(double, char, std::__1::basic_string , std::__1::allocator >&, std::__1::integral_constant ) call site: 00389 __cxa_allocate_exception
5 162 jsoncons::basic_json_parser >::end_string_value(char const*, unsigned long, jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00162
4 125 jsoncons::basic_json_parser >::end_positive_value(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00125
4 264 jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00264 __cxa_allocate_exception
3 53 jsoncons::stream_source >::fill_buffer(char*, unsigned long) call site: 00053 __cxa_end_catch
3 97 _ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_ call site: 00097
3 109 jsoncons::decstr_to_double(char const*, unsigned long, double&) call site: 00109
2 5 jsoncons::basic_json_cursor >, std::__1::allocator >::basic_json_cursor , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&, std::__1::error_code&) call site: 00005

Runtime coverage analysis

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

Files reached

filename functions hit
/src/jsoncons/./fuzzers/fuzz_json_cursor.cpp 1
/src/jsoncons/./include/jsoncons/json_cursor.hpp 10
/src/jsoncons/./include/jsoncons/json_options.hpp 17
/src/jsoncons/./include/jsoncons/ser_utils.hpp 2
/src/jsoncons/./include/jsoncons/staj_cursor.hpp 5
/src/jsoncons/./include/jsoncons/source_adaptor.hpp 4
/src/jsoncons/./include/jsoncons/source.hpp 10
/src/jsoncons/./include/jsoncons/json_parser.hpp 34
/src/jsoncons/./include/jsoncons/json_visitor.hpp 16
/src/jsoncons/./include/jsoncons/staj_event.hpp 7
/src/jsoncons/./include/jsoncons/detail/span.hpp 4
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 7
/src/jsoncons/./include/jsoncons/utility/read_number.hpp 10
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp 2
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 1
/src/jsoncons/./include/jsoncons/detail/make_obj_using_allocator.hpp 3
/src/jsoncons/./include/jsoncons/utility/conversion.hpp 1
/src/jsoncons/./include/jsoncons/utility/byte_string.hpp 4
/src/jsoncons/./include/jsoncons/utility/write_number.hpp 15
/src/jsoncons/./include/jsoncons/config/compiler_support.hpp 1
/src/jsoncons/./include/jsoncons/json_exception.hpp 2
/usr/local/bin/../include/c++/v1/stdexcept 1
/src/jsoncons/./include/jsoncons/detail/grisu3.hpp 12

Fuzzer: fuzz_json_parser_max

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 59 19.2%
gold [1:9] 2 0.65%
yellow [10:29] 1 0.32%
greenyellow [30:49] 7 2.28%
lawngreen 50+ 238 77.5%
All colors 307 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 290 jsoncons::basic_json_reader >, std::__1::allocator >::check_done(std::__1::error_code&) call site: 00290
4 127 jsoncons::basic_json_parser >::end_positive_value(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00127
4 266 jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00266 __cxa_allocate_exception
3 13 jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&) call site: 00013
3 57 jsoncons::stream_source >::fill_buffer(char*, unsigned long) call site: 00057 __cxa_end_catch
3 99 _ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_ call site: 00099
3 111 jsoncons::decstr_to_double(char const*, unsigned long, double&) call site: 00111
2 10 jsoncons::json_source_adaptor > >::json_source_adaptor , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&) call site: 00010
2 27 jsoncons::basic_json_parser >::basic_json_parser(jsoncons::basic_json_decode_options const&, std::__1::allocator const&) call site: 00027 nan
2 35 jsoncons::basic_json_reader >, std::__1::allocator >::basic_json_reader , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&, jsoncons::basic_json_visitor &, jsoncons::basic_json_decode_options const&, std::__1::allocator const&) call site: 00035
2 41 jsoncons::basic_json_reader >, std::__1::allocator >::basic_json_reader , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&, jsoncons::basic_json_visitor &, std::__1::allocator const&) call site: 00041
2 85 _ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_ call site: 00085

Runtime coverage analysis

Covered functions
117
Functions that are reachable but not covered
37
Reachable functions
235
Percentage of reachable functions covered
84.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.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/jsoncons/./fuzzers/fuzz_json_parser_max.cpp 1
/src/jsoncons/./include/jsoncons/json_visitor.hpp 18
/src/jsoncons/./include/jsoncons/json_reader.hpp 7
/src/jsoncons/./include/jsoncons/json_options.hpp 17
/src/jsoncons/./include/jsoncons/source_adaptor.hpp 5
/src/jsoncons/./include/jsoncons/source.hpp 11
/src/jsoncons/./include/jsoncons/json_parser.hpp 34
/src/jsoncons/./include/jsoncons/ser_utils.hpp 2
/src/jsoncons/./include/jsoncons/detail/span.hpp 4
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 7
/src/jsoncons/./include/jsoncons/utility/read_number.hpp 10
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp 2
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 1

Fuzzer: fuzz_bson

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 30 10.3%
gold [1:9] 0 0.0%
yellow [10:29] 22 7.58%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 238 82.0%
All colors 290 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 70 jsoncons::stream_source >::fill_buffer(unsigned char*, unsigned long) call site: 00070 __cxa_end_catch
3 211 _ZN8jsoncons4bson15try_decode_bsonINS_10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEEEEENS4_9enable_ifIXsr10ext_traits13is_basic_jsonIT_EE5valueENS_6detail8expectedIS9_NS_10read_errorEEEE4typeERNS4_13basic_istreamIcNS4_11char_traitsIcEEEERKNS0_19bson_decode_optionsE call site: 00211
3 215 _ZN8jsoncons4bson15try_decode_bsonINS_10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEEEEENS4_9enable_ifIXsr10ext_traits13is_basic_jsonIT_EE5valueENS_6detail8expectedIS9_NS_10read_errorEEEE4typeERNS4_13basic_istreamIcNS4_11char_traitsIcEEEERKNS0_19bson_decode_optionsE call site: 00215
2 53 jsoncons::bson::basic_bson_parser >, std::__1::allocator >::basic_bson_parser >&>(std::__1::basic_istream >&, jsoncons::bson::bson_decode_options const&, std::__1::allocator const&) call site: 00053
2 56 jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&) call site: 00056
2 87 jsoncons::bson::basic_bson_parser >, std::__1::allocator >::end_document(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00087 __clang_call_terminate
2 257 _ZN8jsoncons4bson15try_decode_bsonINS_10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEEEEENS4_9enable_ifIXsr10ext_traits13is_basic_jsonIT_EE5valueENS_6detail8expectedIS9_NS_10read_errorEEEE4typeERNS4_13basic_istreamIcNS4_11char_traitsIcEEEERKNS0_19bson_decode_optionsE call site: 00257
2 260 _ZN8jsoncons4bson15try_decode_bsonINS_10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEEEEENS4_9enable_ifIXsr10ext_traits13is_basic_jsonIT_EE5valueENS_6detail8expectedIS9_NS_10read_errorEEEE4typeERNS4_13basic_istreamIcNS4_11char_traitsIcEEEERKNS0_19bson_decode_optionsE call site: 00260
2 263 jsoncons::basic_json > jsoncons::bson::decode_bson >, std::__1::basic_istringstream , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&) call site: 00263
2 273 jsoncons::basic_json > jsoncons::bson::decode_bson >, std::__1::basic_istringstream , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&) call site: 00273
1 5 _ZN8jsoncons4bson15try_decode_bsonINS_10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEEEEENS4_9enable_ifIXsr10ext_traits13is_basic_jsonIT_EE5valueENS_6detail8expectedIS9_NS_10read_errorEEEE4typeERNS4_13basic_istreamIcNS4_11char_traitsIcEEEERKNS0_19bson_decode_optionsE call site: 00005
1 42 jsoncons::basic_json >::~basic_json() call site: 00042 __cxa_begin_catch

Runtime coverage analysis

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

Files reached

filename functions hit
/src/jsoncons/./fuzzers/fuzz_bson.cpp 1
/src/jsoncons/./include/jsoncons_ext/bson/decode_bson.hpp 2
/src/jsoncons/./include/jsoncons_ext/bson/bson_options.hpp 6
/src/jsoncons/./include/jsoncons/json_decoder.hpp 4
/src/jsoncons/./include/jsoncons/json_visitor.hpp 17
/src/jsoncons/./include/jsoncons/basic_json.hpp 30
/src/jsoncons/./include/jsoncons/utility/heap_string.hpp 6
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp 4
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 3
/src/jsoncons/./include/jsoncons/allocator_holder.hpp 1
/src/jsoncons/./include/jsoncons/json_filter.hpp 5
/src/jsoncons/./include/jsoncons_ext/bson/bson_reader.hpp 5
/src/jsoncons/./include/jsoncons_ext/bson/bson_parser.hpp 15
/src/jsoncons/./include/jsoncons/ser_utils.hpp 7
/src/jsoncons/./include/jsoncons/source.hpp 18
/src/jsoncons/./include/jsoncons/utility/binary.hpp 4
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 2
/src/jsoncons/./include/jsoncons/detail/span.hpp 4
/src/jsoncons/./include/jsoncons/utility/byte_string.hpp 3
/src/jsoncons/./include/jsoncons_ext/bson/bson_decimal128.hpp 3
/src/jsoncons/./include/jsoncons/utility/write_number.hpp 1
/src/jsoncons/./include/jsoncons_ext/bson/bson_oid.hpp 5
/src/jsoncons/./include/jsoncons/detail/expected.hpp 9
/src/jsoncons/./include/jsoncons/json_type.hpp 1
/src/jsoncons/./include/jsoncons/json_exception.hpp 4
/usr/local/bin/../include/c++/v1/__exception/exception.h 1

Fuzzer: fuzz_cbor_encoder

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 737 67.9%
gold [1:9] 110 10.1%
yellow [10:29] 84 7.74%
greenyellow [30:49] 4 0.36%
lawngreen 50+ 149 13.7%
All colors 1084 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
353 120 jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::handle_string(jsoncons::basic_generic_visitor &, std::__1::basic_string_view > const&, std::__1::error_code&) call site: 00120 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEpLImEENS1_9enable_ifIXaasr10ext_traits19is_unsigned_integerIT_EE5valuelestS7_Lm8EERS4_E4typeES7_
31 930 jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::read_bigfloat(std::__1::basic_string , std::__1::allocator >&, std::__1::error_code&) call site: 00930 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
26 1004 jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::begin_classical_array_storage(unsigned char, std::__1::error_code&) call site: 01004 __cxa_allocate_exception
20 533 jsoncons::cbor::oned_typed_array_iterator >::next(jsoncons::basic_generic_visitor &, jsoncons::ser_context const&, std::__1::error_code&) call site: 00533 _ZN8jsoncons4cbor20typed_array_iterator11write_valueItEENSt3__19enable_ifIXsr10ext_traits19is_unsigned_integerIT_EE5valueEvE4typeES5_NS_12semantic_tagERNS_21basic_generic_visitorIcEERKNS_11ser_contextERNS3_10error_codeE
19 978 jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::read_extents(std::__1::error_code&) call site: 00978 _ZN8jsoncons6detail8expectedImNSt3__14errcEEC2ImEENS2_9enable_ifIXsr3std24is_default_constructibleIT_EE5valueEiE4typeE
17 621 jsoncons::cbor::oned_typed_array_iterator >::next(jsoncons::basic_generic_visitor &, jsoncons::ser_context const&, std::__1::error_code&) call site: 00621 _ZN8jsoncons4cbor20typed_array_iterator11write_valueIiEENSt3__19enable_ifIXsr10ext_traits17is_signed_integerIT_EE5valueEvE4typeES5_NS_12semantic_tagERNS_21basic_generic_visitorIcEERKNS_11ser_contextERNS3_10error_codeE
17 708 jsoncons::cbor::oned_typed_array_iterator >::next(jsoncons::basic_generic_visitor &, jsoncons::ser_context const&, std::__1::error_code&) call site: 00708 _ZN8jsoncons6binary9byte_swapIdEENSt3__19enable_ifIXaasr3std17is_floating_pointIT_EE5valueeqstS4_Lm8EES4_E4typeES4_
16 662 jsoncons::cbor::oned_typed_array_iterator >::next(jsoncons::basic_generic_visitor &, jsoncons::ser_context const&, std::__1::error_code&) call site: 00662 _ZN8jsoncons4cbor20typed_array_iterator11write_valueIlEENSt3__19enable_ifIXsr10ext_traits17is_signed_integerIT_EE5valueEvE4typeES5_NS_12semantic_tagERNS_21basic_generic_visitorIcEERKNS_11ser_contextERNS3_10error_codeE
15 891 jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::read_decimal_fraction(std::__1::basic_string , std::__1::allocator >&, std::__1::error_code&) call site: 00891 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2IiEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
14 580 jsoncons::cbor::oned_typed_array_iterator >::next(jsoncons::basic_generic_visitor &, jsoncons::ser_context const&, std::__1::error_code&) call site: 00580 _ZN8jsoncons4cbor20typed_array_iterator11write_valueIaEENSt3__19enable_ifIXsr10ext_traits17is_signed_integerIT_EE5valueEvE4typeES5_NS_12semantic_tagERNS_21basic_generic_visitorIcEERKNS_11ser_contextERNS3_10error_codeE
12 485 jsoncons::detail::span jsoncons::typed_array_cast (jsoncons::detail::span ) call site: 00485 _ZN8jsoncons4cbor20typed_array_iterator11write_valueIhEENSt3__19enable_ifIXsr10ext_traits19is_unsigned_integerIT_EE5valueEvE4typeES5_NS_12semantic_tagERNS_21basic_generic_visitorIcEERKNS_11ser_contextERNS3_10error_codeE
12 507 jsoncons::cbor::oned_typed_array_iterator >::next(jsoncons::basic_generic_visitor &, jsoncons::ser_context const&, std::__1::error_code&) call site: 00507 _ZN8jsoncons6detail4spanIhLm18446744073709551615EEC2INSt3__16vectorIhNS4_9allocatorIhEEEEEERT_PNS4_9enable_ifIXaaaaaantsr7is_spanIS9_EE5valuentsr10ext_traits12is_std_arrayIS9_EE5valuesr10ext_traits21is_compatible_elementIS9_hEE5valuesr10ext_traits17has_data_and_sizeIS9_EE5valueEvE4typeE

Runtime coverage analysis

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

Files reached

filename functions hit
/src/jsoncons/./fuzzers/fuzz_cbor_encoder.cpp 1
/src/jsoncons/./include/jsoncons/sink.hpp 3
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_encoder.hpp 5
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_options.hpp 11
/src/jsoncons/./include/jsoncons/json_visitor.hpp 6
/src/jsoncons/./include/jsoncons/utility/binary.hpp 16
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_reader.hpp 3
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_parser.hpp 44
/src/jsoncons/./include/jsoncons/ser_utils.hpp 2
/src/jsoncons/./include/jsoncons/source.hpp 18
/src/jsoncons/./include/jsoncons/generic_visitor.hpp 20
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 1
/src/jsoncons/./include/jsoncons/utility/byte_string.hpp 7
/src/jsoncons/./include/jsoncons/utility/bigint.hpp 75
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp 1
/src/jsoncons/./include/jsoncons/detail/span.hpp 54
/src/jsoncons/./include/jsoncons/typed_array.hpp 11
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_typed_array_iterator.hpp 36
/src/jsoncons/./include/jsoncons/utility/function_objects.hpp 11
/src/jsoncons/./include/jsoncons/config/compiler_support.hpp 1
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_detail.hpp 1
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 2
/src/jsoncons/./include/jsoncons/utility/write_number.hpp 7
/src/jsoncons/./include/jsoncons/detail/expected.hpp 8

Fuzzer: fuzz_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 75 20.6%
gold [1:9] 7 1.92%
yellow [10:29] 1 0.27%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 280 77.1%
All colors 363 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
9 306 _ZN8jsoncons10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEE5parseINS2_12basic_stringIcNS2_11char_traitsIcEES4_EEEENS2_9enable_ifIXsr10ext_traits17is_string_view_ofIT_cEE5valueES5_E4typeERKSC_RKNS_25basic_json_decode_optionsIcEE call site: 00306 __cxa_allocate_exception
8 26 jsoncons::heap::heap_string_factory >::destroy(jsoncons::heap::heap_string >*) call site: 00026
5 333 void jsoncons::basic_json >::construct >::null_storage>() call site: 00333
4 135 jsoncons::basic_json_parser >::end_positive_value(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00135
4 267 jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00267
4 274 jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00274 __cxa_allocate_exception
4 355 LLVMFuzzerTestOneInput call site: 00355
3 107 _ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_ call site: 00107
3 119 jsoncons::decstr_to_double(char const*, unsigned long, double&) call site: 00119
3 283 jsoncons::basic_json_parser >::parse_some(jsoncons::basic_json_visitor &) call site: 00283
2 59 jsoncons::basic_json_parser >::basic_json_parser(jsoncons::basic_json_decode_options const&, std::__1::allocator const&) call site: 00059 nan
2 76 _ZN8jsoncons10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEE5parseINS2_12basic_stringIcNS2_11char_traitsIcEES4_EEEENS2_9enable_ifIXsr10ext_traits17is_string_view_ofIT_cEE5valueES5_E4typeERKSC_RKNS_25basic_json_decode_optionsIcEE call site: 00076

Runtime coverage analysis

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

Files reached

filename functions hit
/src/jsoncons/./fuzzers/fuzz_parse.cpp 1
/src/jsoncons/./include/jsoncons/json_options.hpp 21
/src/jsoncons/./include/jsoncons/basic_json.hpp 31
/src/jsoncons/./include/jsoncons/json_decoder.hpp 4
/src/jsoncons/./include/jsoncons/json_visitor.hpp 16
/src/jsoncons/./include/jsoncons/utility/heap_string.hpp 6
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp 6
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 3
/src/jsoncons/./include/jsoncons/allocator_holder.hpp 1
/src/jsoncons/./include/jsoncons/json_parser.hpp 35
/src/jsoncons/./include/jsoncons/ser_utils.hpp 2
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 6
/src/jsoncons/./include/jsoncons/json_exception.hpp 7
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/jsoncons/./include/jsoncons/utility/read_number.hpp 10
/src/jsoncons/./include/jsoncons/json_type.hpp 1

Fuzzer: fuzz_csv

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 460 65.3%
gold [1:9] 1 0.14%
yellow [10:29] 1 0.14%
greenyellow [30:49] 4 0.56%
lawngreen 50+ 238 33.8%
All colors 704 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
109 240 jsoncons::decstr_to_double(char const*, unsigned long, double&) call site: 00240 _ZN8jsoncons14unicode_traits8validateIcEENSt3__19enable_ifIXsr10ext_traits8is_char8IT_EE5valueENS0_14unicode_resultIS4_EEE4typeEPKS4_m
107 502 jsoncons::csv::basic_csv_parser >::parse_some(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00502 _ZN8jsoncons18basic_json_visitorIcE17byte_string_valueINS_17basic_byte_stringINSt3__19allocatorIhEEEEEEbRKT_NS_12semantic_tagERKNS_11ser_contextENS4_9enable_ifIXsr10ext_traits18is_bytes_view_likeIS8_EE5valueEiE4typeE
44 405 jsoncons::ser_error::ser_error(std::__1::error_code, unsigned long, unsigned long) call site: 00405 __cxa_throw
41 172 jsoncons::csv::basic_csv_parser >::end_unquoted_string_value(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00172 _ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_
30 102 void jsoncons::csv::detail::parse_column_types > >(std::__1::basic_string , std::__1::allocator > const&, std::__1::vector >&) call site: 00102 __cxa_allocate_exception
13 389 jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00389 __cxa_allocate_exception
11 466 jsoncons::csv::basic_csv_parser >::end_value(jsoncons::basic_json_visitor &, bool, std::__1::error_code&) call site: 00466 isspace
8 19 jsoncons::heap::heap_string_factory >::destroy(jsoncons::heap::heap_string >*) call site: 00019
7 228 _ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_ call site: 00228
6 484 jsoncons::csv::basic_csv_parser >::end_quoted_string_value(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00484
4 56 LLVMFuzzerTestOneInput call site: 00056
4 626 jsoncons::csv::basic_csv_parser >::parse_some(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00626

Runtime coverage analysis

Covered functions
221
Functions that are reachable but not covered
200
Reachable functions
484
Percentage of reachable functions covered
58.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.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/jsoncons/./fuzzers/fuzz_csv.cpp 1
/src/jsoncons/./include/jsoncons/json_decoder.hpp 2
/src/jsoncons/./include/jsoncons/json_visitor.hpp 30
/src/jsoncons/./include/jsoncons/basic_json.hpp 16
/src/jsoncons/./include/jsoncons/utility/heap_string.hpp 6
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp 6
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 4
/src/jsoncons/./include/jsoncons/allocator_holder.hpp 1
/src/jsoncons/./include/jsoncons_ext/csv/csv_options.hpp 44
/src/jsoncons/./include/jsoncons_ext/csv/csv_reader.hpp 5
/src/jsoncons/./include/jsoncons/source_adaptor.hpp 3
/src/jsoncons/./include/jsoncons/source.hpp 4
/src/jsoncons/./include/jsoncons_ext/csv/csv_parser.hpp 27
/src/jsoncons/./include/jsoncons/ser_utils.hpp 2
/src/jsoncons/./include/jsoncons/detail/span.hpp 4
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 6
/src/jsoncons/./include/jsoncons/json_parser.hpp 33
/src/jsoncons/./include/jsoncons/json_options.hpp 17
/src/jsoncons/./include/jsoncons/utility/read_number.hpp 10
/src/jsoncons/./include/jsoncons/json_exception.hpp 14
/usr/local/bin/../include/c++/v1/__exception/exception.h 2
/src/jsoncons/./include/jsoncons/utility/byte_string.hpp 3
/usr/local/bin/../include/c++/v1/stdexcept 1

Fuzzer: fuzz_msgpack

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 133 20.4%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 516 79.5%
All colors 649 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
16 486 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00486
15 314 jsoncons::detail::bigint_storage >::operator=(jsoncons::detail::bigint_storage > const&) call site: 00314
14 410 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00410 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
11 435 jsoncons::basic_bigint >::operator<<=(unsigned long) call site: 00435
6 464 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00464
5 82 jsoncons::stream_source >::fill_buffer(unsigned char*, unsigned long) call site: 00082 __cxa_end_catch
5 300 jsoncons::operator<(jsoncons::basic_bigint > const&, jsoncons::basic_bigint > const&) call site: 00300
5 480 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00480 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
4 377 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00377 __cxa_allocate_exception
4 569 _ZN8jsoncons7msgpack18try_decode_msgpackINS_10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEEEEENS4_9enable_ifIXsr10ext_traits13is_basic_jsonIT_EE5valueENS_6detail8expectedIS9_NS_10read_errorEEEE4typeERNS4_13basic_istreamIcNS4_11char_traitsIcEEEERKNS0_22msgpack_decode_optionsE call site: 00569
3 282 jsoncons::basic_bigint >::operator-=(jsoncons::basic_bigint > const&) call site: 00282
3 574 _ZN8jsoncons7msgpack18try_decode_msgpackINS_10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEEEEENS4_9enable_ifIXsr10ext_traits13is_basic_jsonIT_EE5valueENS_6detail8expectedIS9_NS_10read_errorEEEE4typeERNS4_13basic_istreamIcNS4_11char_traitsIcEEEERKNS0_22msgpack_decode_optionsE call site: 00574

Runtime coverage analysis

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

Files reached

filename functions hit
/src/jsoncons/./fuzzers/fuzz_msgpack.cpp 1
/src/jsoncons/./include/jsoncons_ext/msgpack/decode_msgpack.hpp 2
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_options.hpp 6
/src/jsoncons/./include/jsoncons/json_decoder.hpp 4
/src/jsoncons/./include/jsoncons/json_visitor.hpp 6
/src/jsoncons/./include/jsoncons/basic_json.hpp 30
/src/jsoncons/./include/jsoncons/utility/heap_string.hpp 6
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp 5
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 3
/src/jsoncons/./include/jsoncons/allocator_holder.hpp 1
/src/jsoncons/./include/jsoncons/json_filter.hpp 5
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_reader.hpp 5
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_parser.hpp 12
/src/jsoncons/./include/jsoncons/ser_utils.hpp 7
/src/jsoncons/./include/jsoncons/source.hpp 16
/src/jsoncons/./include/jsoncons/generic_visitor.hpp 17
/src/jsoncons/./include/jsoncons/utility/binary.hpp 20
/src/jsoncons/./include/jsoncons/detail/span.hpp 4
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 2
/src/jsoncons/./include/jsoncons/utility/byte_string.hpp 3
/src/jsoncons/./include/jsoncons/utility/bigint.hpp 75
/src/jsoncons/./include/jsoncons/detail/expected.hpp 9
/src/jsoncons/./include/jsoncons/json_type.hpp 1
/src/jsoncons/./include/jsoncons/json_exception.hpp 4
/usr/local/bin/../include/c++/v1/__exception/exception.h 1

Fuzzer: fuzz_cbor

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 145 12.2%
gold [1:9] 2 0.16%
yellow [10:29] 2 0.16%
greenyellow [30:49] 2 0.16%
lawngreen 50+ 1036 87.2%
All colors 1187 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
14 369 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00369 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
13 270 jsoncons::detail::bigint_storage >::operator=(jsoncons::detail::bigint_storage > const&) call site: 00270
6 450 jsoncons::basic_bigint >::operator>>=(unsigned long) call site: 00450
5 394 jsoncons::basic_bigint >::operator<<=(unsigned long) call site: 00394
4 336 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00336 __cxa_allocate_exception
4 1097 _ZN8jsoncons4cbor15try_decode_cborINS_10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEEEEENS4_9enable_ifIXsr10ext_traits13is_basic_jsonIT_EE5valueENS_6detail8expectedIS9_NS_10read_errorEEEE4typeERNS4_13basic_istreamIcNS4_11char_traitsIcEEEERKNS0_19cbor_decode_optionsE call site: 01097
3 111 jsoncons::stream_source >::read(unsigned char*, unsigned long) call site: 00111 __cxa_begin_catch
3 238 jsoncons::basic_bigint >::operator-=(jsoncons::basic_bigint > const&) call site: 00238
3 439 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00439 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
3 1102 _ZN8jsoncons4cbor15try_decode_cborINS_10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEEEEENS4_9enable_ifIXsr10ext_traits13is_basic_jsonIT_EE5valueENS_6detail8expectedIS9_NS_10read_errorEEEE4typeERNS4_13basic_istreamIcNS4_11char_traitsIcEEEERKNS0_19cbor_decode_optionsE call site: 01102
3 1182 LLVMFuzzerTestOneInput call site: 01182
2 53 jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::basic_cbor_parser >&>(std::__1::basic_istream >&, jsoncons::cbor::cbor_decode_options const&, std::__1::allocator const&) call site: 00053

Runtime coverage analysis

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

Files reached

filename functions hit
/src/jsoncons/./fuzzers/fuzz_cbor.cpp 1
/src/jsoncons/./include/jsoncons_ext/cbor/decode_cbor.hpp 2
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_options.hpp 6
/src/jsoncons/./include/jsoncons/json_decoder.hpp 4
/src/jsoncons/./include/jsoncons/json_visitor.hpp 6
/src/jsoncons/./include/jsoncons/basic_json.hpp 30
/src/jsoncons/./include/jsoncons/utility/heap_string.hpp 6
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp 5
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 3
/src/jsoncons/./include/jsoncons/allocator_holder.hpp 1
/src/jsoncons/./include/jsoncons/json_filter.hpp 5
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_reader.hpp 5
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_parser.hpp 46
/src/jsoncons/./include/jsoncons/ser_utils.hpp 7
/src/jsoncons/./include/jsoncons/source.hpp 19
/src/jsoncons/./include/jsoncons/generic_visitor.hpp 20
/src/jsoncons/./include/jsoncons/utility/binary.hpp 13
/src/jsoncons/./include/jsoncons/utility/byte_string.hpp 7
/src/jsoncons/./include/jsoncons/utility/bigint.hpp 75
/src/jsoncons/./include/jsoncons/detail/span.hpp 54
/src/jsoncons/./include/jsoncons/typed_array.hpp 11
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_typed_array_iterator.hpp 36
/src/jsoncons/./include/jsoncons/utility/function_objects.hpp 11
/src/jsoncons/./include/jsoncons/config/compiler_support.hpp 1
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_detail.hpp 1
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 2
/src/jsoncons/./include/jsoncons/utility/write_number.hpp 7
/src/jsoncons/./include/jsoncons/detail/expected.hpp 17
/src/jsoncons/./include/jsoncons/json_type.hpp 1
/src/jsoncons/./include/jsoncons/json_exception.hpp 8
/usr/local/bin/../include/c++/v1/__exception/exception.h 1

Analyses and suggestions

Optimal target analysis

Remaining optimal interesting functions

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

Func name Functions filename Arg count Args Function depth hitcount instr count bb count cyclomatic complexity Reachable functions Incoming references total cyclomatic complexity Unreached complexity
jsoncons::json_decoder >,std::__1::allocator >::visit_end_array(jsoncons::ser_contextconst&,std::__1::error_code&) /src/jsoncons/./include/jsoncons/json_decoder.hpp 3 ['N/A', 'N/A', 'N/A'] 13 0 285 42 3 1012 0 1930 1837
jsoncons::json_decoder >,std::__1::allocator >::visit_end_array(jsoncons::ser_contextconst&,std::__1::error_code&) /src/jsoncons/./include/jsoncons/json_decoder.hpp 3 ['N/A', 'N/A', 'N/A'] 13 0 285 42 3 1012 0 1930 1810
jsoncons::cbor::basic_cbor_encoder >,void>,std::__1::allocator >::visit_key(std::__1::basic_string_view >const&,jsoncons::ser_contextconst&,std::__1::error_code&) /src/jsoncons/./include/jsoncons_ext/cbor/cbor_encoder.hpp 4 ['N/A', 'N/A', 'N/A', 'N/A'] 17 0 24 3 2 274 0 1074 573
jsoncons::basic_json_encoder ,std::__1::allocator >>,std::__1::allocator >::visit_double(double,jsoncons::semantic_tag,jsoncons::ser_contextconst&,std::__1::error_code&) /src/jsoncons/./include/jsoncons/json_encoder.hpp 5 ['N/A', 'double', 'char', 'N/A', 'N/A'] 18 0 534 63 5 331 0 871 306
jsoncons::ordered_json_object ,std::__1::allocator >,jsoncons::basic_json >,std::__1::vector>::~ordered_json_object() /src/jsoncons/./include/jsoncons/ordered_json_object.hpp 1 ['N/A'] 8 0 17 3 2 213 0 378 238
jsoncons::sorted_json_object ,std::__1::allocator >,jsoncons::basic_json >,std::__1::vector>::~sorted_json_object() /src/jsoncons/./include/jsoncons/sorted_json_object.hpp 1 ['N/A'] 8 0 17 3 2 213 0 378 213
jsoncons::bson::basic_bson_encoder >,void>,std::__1::allocator >::visit_string(std::__1::basic_string_view >const&,jsoncons::semantic_tag,jsoncons::ser_contextconst&,std::__1::error_code&) /src/jsoncons/./include/jsoncons_ext/bson/bson_encoder.hpp 5 ['N/A', 'N/A', 'char', 'N/A', 'N/A'] 4 0 393 41 10 60 0 226 181

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

Functions statically reachable by fuzzers
70.0%
2006 / 2857
Cyclomatic complexity statically reachable by fuzzers
77.0%
10659 / 13911

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.

/src/jsoncons/./fuzzers/fuzz_ubjson_parser_max.cpp

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=['jsoncons::stream_source >::fill_buffer(unsigned char*, unsigned long)', 'LLVMFuzzerTestOneInput', 'jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::basic_ubjson_parser, std::__1::allocator >&>(std::__1::basic_istringstream, std::__1::allocator >&, jsoncons::ubjson::ubjson_decode_options const&, std::__1::allocator const&)', 'jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&)', 'jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::read_value(jsoncons::basic_json_visitor&, unsigned char, std::__1::error_code&)', 'std::__1::enable_if::type jsoncons::binary::big_to_native(unsigned char const*, unsigned long)', 'jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::parse(jsoncons::basic_json_visitor&, std::__1::error_code&)', 'jsoncons::ubjson::basic_ubjson_reader >, std::__1::allocator >::basic_ubjson_reader, std::__1::allocator >&>(std::__1::basic_istringstream, std::__1::allocator >&, jsoncons::basic_json_visitor&, jsoncons::ubjson::ubjson_decode_options const&, std::__1::allocator const&)']

/src/jsoncons/./fuzzers/fuzz_bson_parser_max.cpp

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=['jsoncons::stream_source >::fill_buffer(unsigned char*, unsigned long)', 'LLVMFuzzerTestOneInput', 'jsoncons::bson::basic_bson_parser >, std::__1::allocator >::basic_bson_parser, std::__1::allocator >&>(std::__1::basic_istringstream, std::__1::allocator >&, jsoncons::bson::bson_decode_options const&, std::__1::allocator const&)', 'jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&)', 'jsoncons::bson::basic_bson_parser >, std::__1::allocator >::end_document(jsoncons::basic_json_visitor&, std::__1::error_code&)', 'jsoncons::bson::basic_bson_reader >, std::__1::allocator >::basic_bson_reader, std::__1::allocator >&>(std::__1::basic_istringstream, std::__1::allocator >&, jsoncons::basic_json_visitor&, jsoncons::bson::bson_decode_options const&, std::__1::allocator const&)']

/src/jsoncons/./fuzzers/fuzz_bigint.cpp

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=['jsoncons::operator<(jsoncons::basic_bigint > const&, jsoncons::basic_bigint > const&)', 'jsoncons::basic_bigint >::get_storage_view() const', 'jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', 'jsoncons::basic_bigint >::operator>>=(unsigned long)', 'jsoncons::basic_bigint >::operator<<=(unsigned long)', 'jsoncons::detail::bigint_storage >::allocated_storage::reserve(unsigned long, std::__1::allocator const&)', 'jsoncons::detail::bigint_storage >::allocated_storage::allocated_storage(jsoncons::detail::bigint_storage >::allocated_storage const&, std::__1::allocator const&)', 'jsoncons::basic_bigint >::set_negative(bool)', 'jsoncons::to_bigint_result jsoncons::to_bigint >(char const*, unsigned long, jsoncons::basic_bigint >&, std::__1::allocator const&)', 'jsoncons::basic_bigint >::basic_bigint(char const*, std::__1::allocator const&)']

/src/jsoncons/./fuzzers/fuzz_ubjson_encoder.cpp

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=['jsoncons::stream_source >::fill_buffer(unsigned char*, unsigned long)', 'LLVMFuzzerTestOneInput', 'jsoncons::ubjson::basic_ubjson_encoder >, void>, std::__1::allocator >::basic_ubjson_encoder(jsoncons::bytes_sink >, void>&&, std::__1::allocator const&)', 'jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::basic_ubjson_parser, std::__1::allocator >&>(std::__1::basic_istringstream, std::__1::allocator >&, jsoncons::ubjson::ubjson_decode_options const&, std::__1::allocator const&)', 'jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&)', 'jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::parse(jsoncons::basic_json_visitor&, std::__1::error_code&)', 'jsoncons::ubjson::basic_ubjson_encoder >, void>, std::__1::allocator >::basic_ubjson_encoder(jsoncons::bytes_sink >, void>&&, std::__1::allocator const&)', 'jsoncons::ubjson::basic_ubjson_encoder >, void>, std::__1::allocator >::basic_ubjson_encoder(jsoncons::bytes_sink >, void>&&, jsoncons::ubjson::ubjson_encode_options const&, std::__1::allocator const&)', 'jsoncons::ubjson::basic_ubjson_reader >, std::__1::allocator >::basic_ubjson_reader, std::__1::allocator >&>(std::__1::basic_istringstream, std::__1::allocator >&, jsoncons::basic_json_visitor&, jsoncons::ubjson::ubjson_decode_options const&, std::__1::allocator const&)']

/src/jsoncons/./fuzzers/fuzz_cbor_parser_max.cpp

Dictionary

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


/src/jsoncons/./fuzzers/fuzz_msgpack_parser_max.cpp

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=['jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', 'jsoncons::detail::bigint_storage >::operator=(jsoncons::detail::bigint_storage > const&)', 'jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', 'jsoncons::basic_bigint >::operator<<=(unsigned long)', 'jsoncons::stream_source >::fill_buffer(unsigned char*, unsigned long)', 'jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', 'jsoncons::operator<(jsoncons::basic_bigint > const&, jsoncons::basic_bigint > const&)', 'jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', 'jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', 'LLVMFuzzerTestOneInput']

/src/jsoncons/./fuzzers/fuzz_msgpack_encoder.cpp

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=['jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', 'jsoncons::detail::bigint_storage >::operator=(jsoncons::detail::bigint_storage > const&)', 'jsoncons::basic_bigint >::operator<<=(unsigned long)', 'jsoncons::stream_source >::fill_buffer(unsigned char*, unsigned long)', 'jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', 'jsoncons::operator<(jsoncons::basic_bigint > const&, jsoncons::basic_bigint > const&)', 'jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', 'LLVMFuzzerTestOneInput', 'jsoncons::basic_bigint >::operator-=(jsoncons::basic_bigint > const&)', 'jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const']

/src/jsoncons/./fuzzers/fuzz_json_encoder.cpp

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=['jsoncons::basic_json_reader >, std::__1::allocator >::check_done(std::__1::error_code&)', 'jsoncons::basic_json_parser >::end_positive_value(jsoncons::basic_json_visitor&, std::__1::error_code&)', 'jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor&, std::__1::error_code&)', 'jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&)', 'jsoncons::stream_source >::fill_buffer(char*, unsigned long)', '_ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_', 'jsoncons::decstr_to_double(char const*, unsigned long, double&)', 'jsoncons::json_source_adaptor > >::json_source_adaptor, std::__1::allocator >&>(std::__1::basic_istringstream, std::__1::allocator >&)', 'jsoncons::basic_json_parser >::basic_json_parser(jsoncons::basic_json_decode_options const&, std::__1::allocator const&)', 'jsoncons::basic_json_reader >, std::__1::allocator >::basic_json_reader, std::__1::allocator >&>(std::__1::basic_istringstream, std::__1::allocator >&, jsoncons::basic_json_visitor&, std::__1::allocator const&)']

/src/jsoncons/./fuzzers/fuzz_bson_encoder.cpp

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=['jsoncons::stream_source >::fill_buffer(unsigned char*, unsigned long)', 'LLVMFuzzerTestOneInput', 'jsoncons::bson::basic_bson_encoder >, void>, std::__1::allocator >::basic_bson_encoder(jsoncons::bytes_sink >, void>&&, std::__1::allocator const&)', 'jsoncons::bson::basic_bson_parser >, std::__1::allocator >::basic_bson_parser, std::__1::allocator >&>(std::__1::basic_istringstream, std::__1::allocator >&, jsoncons::bson::bson_decode_options const&, std::__1::allocator const&)', 'jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&)', 'jsoncons::bson::basic_bson_parser >, std::__1::allocator >::end_document(jsoncons::basic_json_visitor&, std::__1::error_code&)', 'jsoncons::bson::basic_bson_encoder >, void>, std::__1::allocator >::basic_bson_encoder(jsoncons::bytes_sink >, void>&&, std::__1::allocator const&)', 'jsoncons::bson::basic_bson_encoder >, void>, std::__1::allocator >::basic_bson_encoder(jsoncons::bytes_sink >, void>&&, jsoncons::bson::bson_encode_options const&, std::__1::allocator const&)', 'jsoncons::bson::basic_bson_reader >, std::__1::allocator >::basic_bson_reader, std::__1::allocator >&>(std::__1::basic_istringstream, std::__1::allocator >&, jsoncons::basic_json_visitor&, jsoncons::bson::bson_decode_options const&, std::__1::allocator const&)']

/src/jsoncons/./fuzzers/fuzz_ubjson.cpp

Dictionary

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


/src/jsoncons/./fuzzers/fuzz_json_cursor.cpp

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=['jsoncons::basic_json_parser >::parse_false(char const*, jsoncons::basic_json_visitor&, std::__1::error_code&)', 'void jsoncons::prettify_string, std::__1::allocator > >(char const*, unsigned long, int, int, int, std::__1::basic_string, std::__1::allocator >&)', 'jsoncons::write_double::write_double(jsoncons::float_chars_format, int)', '_ZNK8jsoncons16basic_staj_eventIcE4get_INSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEES8_cEENS3_9enable_ifIXaasr10ext_traits9is_stringIT_EE5valuesr3std7is_sameINSB_10value_typeET1_EE5valueESB_E4typeET0_RNS3_10error_codeE', 'bool jsoncons::dtoa_general, std::__1::allocator > >(double, char, std::__1::basic_string, std::__1::allocator >&, std::__1::integral_constant)', 'jsoncons::basic_json_parser >::end_string_value(char const*, unsigned long, jsoncons::basic_json_visitor&, std::__1::error_code&)', 'jsoncons::basic_json_parser >::end_positive_value(jsoncons::basic_json_visitor&, std::__1::error_code&)', 'jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor&, std::__1::error_code&)', 'jsoncons::stream_source >::fill_buffer(char*, unsigned long)', '_ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_']

/src/jsoncons/./fuzzers/fuzz_json_parser_max.cpp

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=['jsoncons::basic_json_reader >, std::__1::allocator >::check_done(std::__1::error_code&)', 'jsoncons::basic_json_parser >::end_positive_value(jsoncons::basic_json_visitor&, std::__1::error_code&)', 'jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor&, std::__1::error_code&)', 'jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&)', 'jsoncons::stream_source >::fill_buffer(char*, unsigned long)', '_ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_', 'jsoncons::decstr_to_double(char const*, unsigned long, double&)', 'jsoncons::json_source_adaptor > >::json_source_adaptor, std::__1::allocator >&>(std::__1::basic_istringstream, std::__1::allocator >&)', 'jsoncons::basic_json_parser >::basic_json_parser(jsoncons::basic_json_decode_options const&, std::__1::allocator const&)', 'jsoncons::basic_json_reader >, std::__1::allocator >::basic_json_reader, std::__1::allocator >&>(std::__1::basic_istringstream, std::__1::allocator >&, jsoncons::basic_json_visitor&, jsoncons::basic_json_decode_options const&, std::__1::allocator const&)']

/src/jsoncons/./fuzzers/fuzz_bson.cpp

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=['jsoncons::stream_source >::fill_buffer(unsigned char*, unsigned long)', '_ZN8jsoncons4bson15try_decode_bsonINS_10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEEEEENS4_9enable_ifIXsr10ext_traits13is_basic_jsonIT_EE5valueENS_6detail8expectedIS9_NS_10read_errorEEEE4typeERNS4_13basic_istreamIcNS4_11char_traitsIcEEEERKNS0_19bson_decode_optionsE', 'jsoncons::bson::basic_bson_parser >, std::__1::allocator >::basic_bson_parser >&>(std::__1::basic_istream >&, jsoncons::bson::bson_decode_options const&, std::__1::allocator const&)', 'jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&)', 'jsoncons::bson::basic_bson_parser >, std::__1::allocator >::end_document(jsoncons::basic_json_visitor&, std::__1::error_code&)', 'jsoncons::basic_json > jsoncons::bson::decode_bson >, std::__1::basic_istringstream, std::__1::allocator >&>(std::__1::basic_istringstream, std::__1::allocator >&)', 'jsoncons::basic_json > jsoncons::bson::decode_bson >, std::__1::basic_istringstream, std::__1::allocator >&>(std::__1::basic_istringstream, std::__1::allocator >&)']

/src/jsoncons/./fuzzers/fuzz_cbor_encoder.cpp

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=['jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::handle_string(jsoncons::basic_generic_visitor&, std::__1::basic_string_view > const&, std::__1::error_code&)', 'jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::read_bigfloat(std::__1::basic_string, std::__1::allocator >&, std::__1::error_code&)', 'jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::begin_classical_array_storage(unsigned char, std::__1::error_code&)', 'jsoncons::cbor::oned_typed_array_iterator >::next(jsoncons::basic_generic_visitor&, jsoncons::ser_context const&, std::__1::error_code&)', 'jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::read_extents(std::__1::error_code&)', 'jsoncons::cbor::oned_typed_array_iterator >::next(jsoncons::basic_generic_visitor&, jsoncons::ser_context const&, std::__1::error_code&)', 'jsoncons::cbor::oned_typed_array_iterator >::next(jsoncons::basic_generic_visitor&, jsoncons::ser_context const&, std::__1::error_code&)', 'jsoncons::cbor::oned_typed_array_iterator >::next(jsoncons::basic_generic_visitor&, jsoncons::ser_context const&, std::__1::error_code&)', 'jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::read_decimal_fraction(std::__1::basic_string, std::__1::allocator >&, std::__1::error_code&)', 'jsoncons::cbor::oned_typed_array_iterator >::next(jsoncons::basic_generic_visitor&, jsoncons::ser_context const&, std::__1::error_code&)']

/src/jsoncons/./fuzzers/fuzz_parse.cpp

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=['_ZN8jsoncons10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEE5parseINS2_12basic_stringIcNS2_11char_traitsIcEES4_EEEENS2_9enable_ifIXsr10ext_traits17is_string_view_ofIT_cEE5valueES5_E4typeERKSC_RKNS_25basic_json_decode_optionsIcEE', 'jsoncons::heap::heap_string_factory >::destroy(jsoncons::heap::heap_string >*)', 'void jsoncons::basic_json >::construct >::null_storage>()', 'jsoncons::basic_json_parser >::end_positive_value(jsoncons::basic_json_visitor&, std::__1::error_code&)', 'jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor&, std::__1::error_code&)', 'jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor&, std::__1::error_code&)', 'LLVMFuzzerTestOneInput', '_ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_', 'jsoncons::decstr_to_double(char const*, unsigned long, double&)', 'jsoncons::basic_json_parser >::parse_some(jsoncons::basic_json_visitor&)']

/src/jsoncons/./fuzzers/fuzz_csv.cpp

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=['jsoncons::decstr_to_double(char const*, unsigned long, double&)', 'jsoncons::csv::basic_csv_parser >::parse_some(jsoncons::basic_json_visitor&, std::__1::error_code&)', 'jsoncons::ser_error::ser_error(std::__1::error_code, unsigned long, unsigned long)', 'jsoncons::csv::basic_csv_parser >::end_unquoted_string_value(jsoncons::basic_json_visitor&, std::__1::error_code&)', 'void jsoncons::csv::detail::parse_column_types > >(std::__1::basic_string, std::__1::allocator > const&, std::__1::vector >&)', 'jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor&, std::__1::error_code&)', 'jsoncons::csv::basic_csv_parser >::end_value(jsoncons::basic_json_visitor&, bool, std::__1::error_code&)', 'jsoncons::heap::heap_string_factory >::destroy(jsoncons::heap::heap_string >*)', '_ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_', 'jsoncons::csv::basic_csv_parser >::end_quoted_string_value(jsoncons::basic_json_visitor&, std::__1::error_code&)']

/src/jsoncons/./fuzzers/fuzz_msgpack.cpp

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=['jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', 'jsoncons::detail::bigint_storage >::operator=(jsoncons::detail::bigint_storage > const&)', 'jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', 'jsoncons::basic_bigint >::operator<<=(unsigned long)', 'jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', 'jsoncons::stream_source >::fill_buffer(unsigned char*, unsigned long)', 'jsoncons::operator<(jsoncons::basic_bigint > const&, jsoncons::basic_bigint > const&)', 'jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', 'jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', '_ZN8jsoncons7msgpack18try_decode_msgpackINS_10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEEEEENS4_9enable_ifIXsr10ext_traits13is_basic_jsonIT_EE5valueENS_6detail8expectedIS9_NS_10read_errorEEEE4typeERNS4_13basic_istreamIcNS4_11char_traitsIcEEEERKNS0_22msgpack_decode_optionsE']

/src/jsoncons/./fuzzers/fuzz_cbor.cpp

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=['jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', 'jsoncons::detail::bigint_storage >::operator=(jsoncons::detail::bigint_storage > const&)', 'jsoncons::basic_bigint >::operator>>=(unsigned long)', 'jsoncons::basic_bigint >::operator<<=(unsigned long)', 'jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', '_ZN8jsoncons4cbor15try_decode_cborINS_10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEEEEENS4_9enable_ifIXsr10ext_traits13is_basic_jsonIT_EE5valueENS_6detail8expectedIS9_NS_10read_errorEEEE4typeERNS4_13basic_istreamIcNS4_11char_traitsIcEEEERKNS0_19cbor_decode_optionsE', 'jsoncons::stream_source >::read(unsigned char*, unsigned long)', 'jsoncons::basic_bigint >::operator-=(jsoncons::basic_bigint > const&)', 'jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const']

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
jsoncons::stream_source >::read(unsignedchar*,unsignedlong) 55 30 54.54% ['fuzz_cbor', 'fuzz_ubjson_encoder', 'fuzz_cbor_encoder', 'fuzz_cbor_parser_max', 'fuzz_msgpack', 'fuzz_bson_encoder', 'fuzz_ubjson_parser_max', 'fuzz_bson', 'fuzz_ubjson', 'fuzz_msgpack_encoder', 'fuzz_msgpack_parser_max', 'fuzz_bson_parser_max']
unsignedlongjsoncons::write_double::operator() ,std::__1::allocator >>>(double,jsoncons::string_sink ,std::__1::allocator >>&) 72 19 26.38% ['fuzz_cbor', 'fuzz_cbor_encoder', 'fuzz_msgpack', 'fuzz_json_encoder', 'fuzz_msgpack_encoder', 'fuzz_msgpack_parser_max']
booljsoncons::dtoa_general ,std::__1::allocator >>>(double,char,jsoncons::string_sink ,std::__1::allocator >>&,std::__1::integral_constant ) 33 18 54.54% ['fuzz_msgpack', 'fuzz_json_encoder', 'fuzz_cbor', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder']
jsoncons::msgpack::basic_msgpack_encoder >,void>,std::__1::allocator >::visit_uint64(unsignedlong,jsoncons::semantic_tag,jsoncons::ser_contextconst&,std::__1::error_code&) 76 37 48.68% ['fuzz_msgpack_encoder']
jsoncons::msgpack::basic_msgpack_encoder >,void>,std::__1::allocator >::visit_string(std::__1::basic_string_view >const&,jsoncons::semantic_tag,jsoncons::ser_contextconst&,std::__1::error_code&) 80 36 45.0% ['fuzz_msgpack_encoder']
jsoncons::basic_json_encoder ,std::__1::allocator >>,std::__1::allocator >::basic_json_encoder(jsoncons::string_sink ,std::__1::allocator >>&&,jsoncons::basic_json_encode_options const&,std::__1::allocator const&) 57 31 54.38% ['fuzz_json_encoder']
jsoncons::basic_json_encoder ,std::__1::allocator >>,std::__1::allocator >::visit_double(double,jsoncons::semantic_tag,jsoncons::ser_contextconst&,std::__1::error_code&) 74 18 24.32% ['fuzz_json_encoder']
jsoncons::basic_json_encoder ,std::__1::allocator >>,std::__1::allocator >::write_bignum_value(std::__1::basic_string_view >const&) 63 10 15.87% ['fuzz_json_encoder']
jsoncons::basic_json_parser >::end_negative_value(jsoncons::basic_json_visitor &,std::__1::error_code&) 40 19 47.5% ['fuzz_csv', 'fuzz_json_encoder', 'fuzz_json_cursor', 'fuzz_parse', 'fuzz_json_parser_max']
jsoncons::basic_json_parser >::end_positive_value(jsoncons::basic_json_visitor &,std::__1::error_code&) 40 19 47.5% ['fuzz_csv', 'fuzz_json_encoder', 'fuzz_json_cursor', 'fuzz_parse', 'fuzz_json_parser_max']
_ZN8jsoncons14unicode_traits12to_codepointIcjEENSt3__19enable_ifIXaasr10ext_traits8is_char8IT_EE5valuesr10ext_traits9is_char32IT0_EE5valueENS0_14unicode_resultIS4_EEE4typeEPKS4_SB_RS5_NS0_11strict_flagE 68 21 30.88% ['fuzz_json_encoder']
_ZN8jsoncons10to_integerIjcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedntsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_ 176 44 25.0% ['fuzz_bson_encoder']
jsoncons::bson::basic_bson_encoder >,void>,std::__1::allocator >::visit_uint64(unsignedlong,jsoncons::semantic_tag,jsoncons::ser_contextconst&,std::__1::error_code&) 52 27 51.92% ['fuzz_bson_encoder']
unsignedlongjsoncons::write_double::operator() ,std::__1::allocator >>(double,std::__1::basic_string ,std::__1::allocator >&) 72 19 26.38% ['fuzz_json_cursor']
booljsoncons::dtoa_general ,std::__1::allocator >>(double,char,std::__1::basic_string ,std::__1::allocator >&,std::__1::integral_constant ) 33 18 54.54% ['fuzz_json_cursor']
jsoncons::basic_json >::swap(jsoncons::basic_json >&) 36 18 50.0% ['fuzz_bson', 'fuzz_msgpack', 'fuzz_parse', 'fuzz_cbor']
jsoncons::bson::bson_error_category_impl::message(int)const 35 19 54.28% ['fuzz_bson']
_ZN8jsoncons14hex_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_ 76 31 40.78% ['fuzz_cbor_encoder']
jsoncons::cbor::basic_cbor_encoder >,void>,std::__1::allocator >::visit_double(double,jsoncons::semantic_tag,jsoncons::ser_contextconst&,std::__1::error_code&) 39 16 41.02% ['fuzz_cbor_encoder']
jsoncons::cbor::basic_cbor_encoder >,void>,std::__1::allocator >::visit_string(std::__1::basic_string_view >const&,jsoncons::semantic_tag,jsoncons::ser_contextconst&,std::__1::error_code&) 57 19 33.33% ['fuzz_cbor_encoder']
jsoncons::cbor::basic_cbor_encoder >,void>,std::__1::allocator >::visit_byte_string(jsoncons::byte_string_viewconst&,jsoncons::semantic_tag,jsoncons::ser_contextconst&,std::__1::error_code&) 53 21 39.62% ['fuzz_cbor_encoder']
jsoncons::basic_json >::swap(jsoncons::basic_json >&) 36 11 30.55% ['fuzz_csv']
jsoncons::json_array >,std::__1::vector>::flatten_and_destroy() 38 20 52.63% ['fuzz_csv']
voidjsoncons::csv::detail::parse_column_types >>(std::__1::basic_string ,std::__1::allocator >const&,std::__1::vector >&) 139 15 10.79% ['fuzz_csv']
voidjsoncons::csv::detail::parse_column_names ,std::__1::allocator >,std::__1::allocator ,std::__1::allocator >>>>(std::__1::basic_string ,std::__1::allocator >const&,std::__1::vector ,std::__1::allocator >,std::__1::allocator ,std::__1::allocator >>>&) 47 7 14.89% ['fuzz_csv']
jsoncons::csv::basic_csv_parser >::end_unquoted_string_value(jsoncons::basic_json_visitor &,std::__1::error_code&) 63 20 31.74% ['fuzz_csv']
jsoncons::csv::basic_csv_parser >::end_value(jsoncons::basic_json_visitor &,bool,std::__1::error_code&) 191 17 8.900% ['fuzz_csv']
jsoncons::csv::basic_csv_parser >::end_quoted_string_value(jsoncons::basic_json_visitor &,std::__1::error_code&) 59 17 28.81% ['fuzz_csv']
jsoncons::csv::basic_csv_parser >::end_record(jsoncons::basic_json_visitor &,std::__1::error_code&) 96 40 41.66% ['fuzz_csv']

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/jsoncons/./include/jsoncons/json_visitor.hpp ['fuzz_ubjson_parser_max', 'fuzz_bson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_cbor_parser_max', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_json_encoder', 'fuzz_bson_encoder', 'fuzz_ubjson', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_bson', 'fuzz_cbor_encoder', 'fuzz_parse', 'fuzz_csv', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/utility/bigint.hpp ['fuzz_bigint', 'fuzz_cbor_parser_max', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_cbor_encoder', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./fuzzers/fuzz_msgpack.cpp ['fuzz_msgpack'] []
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_parser.hpp ['fuzz_ubjson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_ubjson'] []
/src/jsoncons/./include/jsoncons/json_encoders.hpp [] []
/src/jsoncons/./include/jsoncons/conv_error.hpp [] []
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_encoder.hpp ['fuzz_msgpack_encoder'] []
/src/jsoncons/./fuzzers/fuzz_ubjson_parser_max.cpp ['fuzz_ubjson_parser_max'] []
/src/jsoncons/./include/jsoncons/utility/conversion.hpp ['fuzz_json_cursor'] []
/src/jsoncons/./include/jsoncons/sorted_json_object.hpp [] []
/src/jsoncons/./include/jsoncons/json_decoder.hpp ['fuzz_ubjson', 'fuzz_bson', 'fuzz_parse', 'fuzz_csv', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_encoder.hpp ['fuzz_cbor_encoder'] []
/src/jsoncons/./include/jsoncons/json_cursor.hpp ['fuzz_json_cursor'] []
/src/jsoncons/./include/jsoncons_ext/msgpack/decode_msgpack.hpp ['fuzz_msgpack'] []
/usr/local/bin/../include/c++/v1/__exception/exception.h ['fuzz_ubjson', 'fuzz_bson', 'fuzz_parse', 'fuzz_csv', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_parser.hpp ['fuzz_cbor_parser_max', 'fuzz_cbor_encoder', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/staj_cursor.hpp ['fuzz_json_cursor'] []
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_parser.hpp ['fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_msgpack'] []
/src/jsoncons/./include/jsoncons/staj_event.hpp ['fuzz_json_cursor'] []
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp ['fuzz_ubjson_parser_max', 'fuzz_bson_parser_max', 'fuzz_bigint', 'fuzz_ubjson_encoder', 'fuzz_cbor_parser_max', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_json_encoder', 'fuzz_bson_encoder', 'fuzz_ubjson', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_bson', 'fuzz_cbor_encoder', 'fuzz_parse', 'fuzz_csv', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./fuzzers/fuzz_bson.cpp ['fuzz_bson'] []
/src/jsoncons/./include/jsoncons/source.hpp ['fuzz_ubjson_parser_max', 'fuzz_bson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_cbor_parser_max', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_json_encoder', 'fuzz_bson_encoder', 'fuzz_ubjson', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_bson', 'fuzz_cbor_encoder', 'fuzz_csv', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/utility/byte_string.hpp ['fuzz_bson_parser_max', 'fuzz_cbor_parser_max', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_bson_encoder', 'fuzz_json_cursor', 'fuzz_bson', 'fuzz_cbor_encoder', 'fuzz_csv', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/detail/span.hpp ['fuzz_ubjson_parser_max', 'fuzz_bson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_cbor_parser_max', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_json_encoder', 'fuzz_bson_encoder', 'fuzz_ubjson', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_bson', 'fuzz_cbor_encoder', 'fuzz_csv', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/key_value.hpp [] []
/src/jsoncons/./include/jsoncons_ext/csv/csv_parser.hpp ['fuzz_csv'] []
/usr/local/bin/../include/c++/v1/stdlib.h [] []
/src/jsoncons/./fuzzers/fuzz_msgpack_encoder.cpp ['fuzz_msgpack_encoder'] []
/src/jsoncons/./fuzzers/fuzz_json_parser_max.cpp ['fuzz_json_parser_max'] []
/src/jsoncons/./include/jsoncons_ext/bson/bson_options.hpp ['fuzz_bson_parser_max', 'fuzz_bson_encoder', 'fuzz_bson'] []
/src/jsoncons/./include/jsoncons/basic_json.hpp ['fuzz_ubjson', 'fuzz_bson', 'fuzz_parse', 'fuzz_csv', 'fuzz_msgpack', 'fuzz_cbor'] []
/usr/local/bin/../include/c++/v1/stdexcept ['fuzz_json_cursor', 'fuzz_csv'] []
/src/jsoncons/./fuzzers/fuzz_parse.cpp ['fuzz_parse'] []
/src/jsoncons/./include/jsoncons_ext/bson/decode_bson.hpp ['fuzz_bson'] []
/src/jsoncons/./fuzzers/fuzz_json_encoder.cpp ['fuzz_json_encoder'] []
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_reader.hpp ['fuzz_cbor_parser_max', 'fuzz_cbor_encoder', 'fuzz_cbor'] []
/src/jsoncons/./fuzzers/fuzz_json_cursor.cpp ['fuzz_json_cursor'] []
/src/jsoncons/./include/jsoncons/allocator_holder.hpp ['fuzz_ubjson', 'fuzz_bson', 'fuzz_parse', 'fuzz_csv', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_typed_array_iterator.hpp ['fuzz_cbor_parser_max', 'fuzz_cbor_encoder', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons_ext/csv/csv_options.hpp ['fuzz_csv'] []
/src/jsoncons/./include/jsoncons/detail/grisu3.hpp ['fuzz_json_cursor'] []
/src/jsoncons/./fuzzers/fuzz_bson_parser_max.cpp ['fuzz_bson_parser_max'] []
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_error.hpp [] []
/src/jsoncons/./include/jsoncons/source_adaptor.hpp ['fuzz_json_encoder', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_csv'] []
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_encoder.hpp ['fuzz_ubjson_encoder'] []
/src/jsoncons/./include/jsoncons_ext/bson/bson_reader.hpp ['fuzz_bson_parser_max', 'fuzz_bson_encoder', 'fuzz_bson'] []
/src/jsoncons/./include/jsoncons/json_array.hpp [] []
/src/jsoncons/./include/jsoncons/ser_utils.hpp ['fuzz_ubjson_parser_max', 'fuzz_bson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_cbor_parser_max', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_json_encoder', 'fuzz_bson_encoder', 'fuzz_ubjson', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_bson', 'fuzz_cbor_encoder', 'fuzz_parse', 'fuzz_csv', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./fuzzers/fuzz_msgpack_parser_max.cpp ['fuzz_msgpack_parser_max'] []
/src/jsoncons/./include/jsoncons/json_filter.hpp ['fuzz_ubjson', 'fuzz_bson', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./fuzzers/fuzz_csv.cpp ['fuzz_csv'] []
/src/jsoncons/./fuzzers/fuzz_cbor_encoder.cpp ['fuzz_cbor_encoder'] []
/src/jsoncons/./include/jsoncons/json_encoder.hpp ['fuzz_json_encoder'] []
/src/jsoncons/./include/jsoncons/json_parser.hpp ['fuzz_json_encoder', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_parse', 'fuzz_csv'] []
/src/jsoncons/./include/jsoncons/typed_array.hpp ['fuzz_cbor_parser_max', 'fuzz_cbor_encoder', 'fuzz_cbor'] []
/usr/local/bin/../include/c++/v1/string [] []
/src/jsoncons/./include/jsoncons/json_exception.hpp ['fuzz_ubjson', 'fuzz_json_cursor', 'fuzz_bson', 'fuzz_parse', 'fuzz_csv', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_error.hpp [] []
/src/jsoncons/./include/jsoncons_ext/bson/bson_encoder.hpp ['fuzz_bson_encoder'] []
/src/jsoncons/./include/jsoncons/utility/function_objects.hpp ['fuzz_cbor_parser_max', 'fuzz_cbor_encoder', 'fuzz_cbor'] []
/src/jsoncons/./fuzzers/fuzz_cbor_parser_max.cpp ['fuzz_cbor_parser_max'] []
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp ['fuzz_ubjson_parser_max', 'fuzz_bson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_cbor_parser_max', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_json_encoder', 'fuzz_bson_encoder', 'fuzz_ubjson', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_bson', 'fuzz_cbor_encoder', 'fuzz_parse', 'fuzz_csv', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp ['fuzz_bigint', 'fuzz_cbor_parser_max', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_json_encoder', 'fuzz_ubjson', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_bson', 'fuzz_cbor_encoder', 'fuzz_parse', 'fuzz_csv', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/ordered_json_object.hpp [] []
/src/jsoncons/./include/jsoncons_ext/cbor/decode_cbor.hpp ['fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/json_error.hpp [] []
/src/jsoncons/./include/jsoncons/detail/make_obj_using_allocator.hpp ['fuzz_json_cursor'] []
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_options.hpp ['fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_msgpack'] []
/src/jsoncons/./include/jsoncons/utility/binary.hpp ['fuzz_ubjson_parser_max', 'fuzz_bson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_cbor_parser_max', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_bson_encoder', 'fuzz_ubjson', 'fuzz_bson', 'fuzz_cbor_encoder', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_reader.hpp ['fuzz_ubjson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_ubjson'] []
/src/jsoncons/./include/jsoncons_ext/csv/csv_reader.hpp ['fuzz_csv'] []
/src/jsoncons/./include/jsoncons_ext/csv/csv_error.hpp [] []
/src/jsoncons/./include/jsoncons_ext/bson/bson_error.hpp [] []
/src/jsoncons/./fuzzers/fuzz_ubjson.cpp ['fuzz_ubjson'] []
/src/jsoncons/./include/jsoncons/generic_visitor.hpp ['fuzz_cbor_parser_max', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_cbor_encoder', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/json_options.hpp ['fuzz_json_encoder', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_parse', 'fuzz_csv'] []
/src/jsoncons/./include/jsoncons/json_reader.hpp ['fuzz_json_encoder', 'fuzz_json_parser_max'] []
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_error.hpp [] []
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_detail.hpp ['fuzz_cbor_parser_max', 'fuzz_cbor_encoder', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/config/compiler_support.hpp ['fuzz_cbor_parser_max', 'fuzz_json_cursor', 'fuzz_cbor_encoder', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/json_type.hpp ['fuzz_ubjson', 'fuzz_bson', 'fuzz_parse', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/sink.hpp ['fuzz_ubjson_encoder', 'fuzz_msgpack_encoder', 'fuzz_json_encoder', 'fuzz_bson_encoder', 'fuzz_cbor_encoder'] []
/src/jsoncons/./include/jsoncons_ext/ubjson/decode_ubjson.hpp ['fuzz_ubjson'] []
/src/jsoncons/./include/jsoncons/utility/write_number.hpp ['fuzz_bson_parser_max', 'fuzz_cbor_parser_max', 'fuzz_json_encoder', 'fuzz_bson_encoder', 'fuzz_json_cursor', 'fuzz_bson', 'fuzz_cbor_encoder', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/detail/expected.hpp ['fuzz_cbor_parser_max', 'fuzz_ubjson', 'fuzz_bson', 'fuzz_cbor_encoder', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_options.hpp ['fuzz_ubjson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_ubjson'] []
/src/jsoncons/./include/jsoncons/utility/read_number.hpp ['fuzz_ubjson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_json_encoder', 'fuzz_ubjson', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_parse', 'fuzz_csv'] []
/src/jsoncons/./include/jsoncons_ext/bson/bson_decimal128.hpp ['fuzz_bson_parser_max', 'fuzz_bson_encoder', 'fuzz_bson'] []
/src/jsoncons/./include/jsoncons/utility/heap_string.hpp ['fuzz_ubjson', 'fuzz_bson', 'fuzz_parse', 'fuzz_csv', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./fuzzers/fuzz_bigint.cpp ['fuzz_bigint'] []
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_options.hpp ['fuzz_cbor_parser_max', 'fuzz_cbor_encoder', 'fuzz_cbor'] []
/src/jsoncons/./fuzzers/fuzz_ubjson_encoder.cpp ['fuzz_ubjson_encoder'] []
/src/jsoncons/./include/jsoncons_ext/bson/bson_oid.hpp ['fuzz_bson_parser_max', 'fuzz_bson_encoder', 'fuzz_bson'] []
/src/jsoncons/./fuzzers/fuzz_cbor.cpp ['fuzz_cbor'] []
/src/jsoncons/./include/jsoncons_ext/bson/bson_parser.hpp ['fuzz_bson_parser_max', 'fuzz_bson_encoder', 'fuzz_bson'] []
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_reader.hpp ['fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_msgpack'] []
/src/jsoncons/./fuzzers/fuzz_bson_encoder.cpp ['fuzz_bson_encoder'] []

Directories in report

Directory
/src/jsoncons/./include/jsoncons_ext/msgpack/
/src/jsoncons/./include/jsoncons/detail/
/src/jsoncons/./include/jsoncons/utility/
/usr/local/bin/../include/c++/v1/__exception/
/src/jsoncons/./fuzzers/
/src/jsoncons/./include/jsoncons_ext/csv/
/src/jsoncons/./include/jsoncons_ext/cbor/
/src/jsoncons/./include/jsoncons/config/
/src/jsoncons/./include/jsoncons_ext/bson/
/src/jsoncons/./include/jsoncons/
/usr/local/bin/../include/c++/v1/
/src/jsoncons/./include/jsoncons_ext/ubjson/

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_ubjson_parser_max fuzzerLogFile-0-Cer8cBeCk0.data fuzzerLogFile-0-Cer8cBeCk0.data.yaml fuzz_ubjson_parser_max.covreport
fuzz_bson_parser_max fuzzerLogFile-0-gG5nkuojam.data fuzzerLogFile-0-gG5nkuojam.data.yaml fuzz_bson_parser_max.covreport
fuzz_bigint fuzzerLogFile-0-VwFWdXSnXy.data fuzzerLogFile-0-VwFWdXSnXy.data.yaml fuzz_bigint.covreport
fuzz_ubjson_encoder fuzzerLogFile-0-BDiN5uEA0S.data fuzzerLogFile-0-BDiN5uEA0S.data.yaml fuzz_ubjson_encoder.covreport
fuzz_cbor_parser_max fuzzerLogFile-0-IjEq1no1Ii.data fuzzerLogFile-0-IjEq1no1Ii.data.yaml fuzz_cbor_parser_max.covreport
fuzz_msgpack_parser_max fuzzerLogFile-0-CZhzMAdMSf.data fuzzerLogFile-0-CZhzMAdMSf.data.yaml fuzz_msgpack_parser_max.covreport
fuzz_msgpack_encoder fuzzerLogFile-0-6iEQDQ8y0g.data fuzzerLogFile-0-6iEQDQ8y0g.data.yaml fuzz_msgpack_encoder.covreport
fuzz_json_encoder fuzzerLogFile-0-ORwPfhV1cT.data fuzzerLogFile-0-ORwPfhV1cT.data.yaml fuzz_json_encoder.covreport
fuzz_bson_encoder fuzzerLogFile-0-PtqQuWnpXS.data fuzzerLogFile-0-PtqQuWnpXS.data.yaml fuzz_bson_encoder.covreport
fuzz_ubjson fuzzerLogFile-0-EAizH2afV9.data fuzzerLogFile-0-EAizH2afV9.data.yaml fuzz_ubjson.covreport
fuzz_json_cursor fuzzerLogFile-0-X8i1RoXX7q.data fuzzerLogFile-0-X8i1RoXX7q.data.yaml fuzz_json_cursor.covreport
fuzz_json_parser_max fuzzerLogFile-0-hyUv5jlhoT.data fuzzerLogFile-0-hyUv5jlhoT.data.yaml fuzz_json_parser_max.covreport
fuzz_bson fuzzerLogFile-0-SQNrLtybae.data fuzzerLogFile-0-SQNrLtybae.data.yaml fuzz_bson.covreport
fuzz_cbor_encoder fuzzerLogFile-0-t3HCzw0imT.data fuzzerLogFile-0-t3HCzw0imT.data.yaml fuzz_cbor_encoder.covreport
fuzz_parse fuzzerLogFile-0-GB9uEDpZs4.data fuzzerLogFile-0-GB9uEDpZs4.data.yaml fuzz_parse.covreport
fuzz_csv fuzzerLogFile-0-MwDdXjOCtx.data fuzzerLogFile-0-MwDdXjOCtx.data.yaml fuzz_csv.covreport
fuzz_msgpack fuzzerLogFile-0-iDQmJB1e3S.data fuzzerLogFile-0-iDQmJB1e3S.data.yaml fuzz_msgpack.covreport
fuzz_cbor fuzzerLogFile-0-BeT4NOmkdL.data fuzzerLogFile-0-BeT4NOmkdL.data.yaml fuzz_cbor.covreport