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

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
fuzz_bigint /src/jsoncons/./fuzzers/fuzz_bigint.cpp 169 7 9 4 723 469 fuzz_bigint.cpp
fuzz_bson_encoder /src/jsoncons/./fuzzers/fuzz_bson_encoder.cpp 153 135 7 16 693 338 fuzz_bson_encoder.cpp
fuzz_json_cursor /src/jsoncons/./fuzzers/fuzz_json_cursor.cpp 323 197 12 24 2335 952 fuzz_json_cursor.cpp
fuzz_json_parser_max /src/jsoncons/./fuzzers/fuzz_json_parser_max.cpp 232 102 10 13 1761 617 fuzz_json_parser_max.cpp
fuzz_ubjson_parser_max /src/jsoncons/./fuzzers/fuzz_ubjson_parser_max.cpp 145 96 7 11 663 391 fuzz_ubjson_parser_max.cpp
fuzz_ubjson_encoder /src/jsoncons/./fuzzers/fuzz_ubjson_encoder.cpp 156 130 7 13 685 411 fuzz_ubjson_encoder.cpp
fuzz_msgpack_parser_max /src/jsoncons/./fuzzers/fuzz_msgpack_parser_max.cpp 291 227 10 14 1259 661 fuzz_msgpack_parser_max.cpp
fuzz_msgpack_encoder /src/jsoncons/./fuzzers/fuzz_msgpack_encoder.cpp 308 288 10 16 1289 722 fuzz_msgpack_encoder.cpp
fuzz_cbor_encoder /src/jsoncons/./fuzzers/fuzz_cbor_encoder.cpp 454 331 13 19 2459 1198 fuzz_cbor_encoder.cpp
fuzz_json_encoder /src/jsoncons/./fuzzers/fuzz_json_encoder.cpp 271 311 10 16 1857 711 fuzz_json_encoder.cpp
fuzz_cbor_parser_max /src/jsoncons/./fuzzers/fuzz_cbor_parser_max.cpp 423 226 13 17 2384 1143 fuzz_cbor_parser_max.cpp
fuzz_bson_parser_max /src/jsoncons/./fuzzers/fuzz_bson_parser_max.cpp 142 97 7 14 673 320 fuzz_bson_parser_max.cpp
fuzz_bson /src/jsoncons/./fuzzers/fuzz_bson.cpp 297 743 8 25 980 582 fuzz_bson.cpp
fuzz_csv /src/jsoncons/./fuzzers/fuzz_csv.cpp 479 767 15 23 3398 1607 fuzz_csv.cpp
fuzz_ubjson /src/jsoncons/./fuzzers/fuzz_ubjson.cpp 300 742 9 22 970 653 fuzz_ubjson.cpp
fuzz_msgpack /src/jsoncons/./fuzzers/fuzz_msgpack.cpp 452 865 12 24 1573 929 fuzz_msgpack.cpp
fuzz_parse /src/jsoncons/./fuzzers/fuzz_parse.cpp 300 693 10 16 1806 706 fuzz_parse.cpp
fuzz_cbor /src/jsoncons/./fuzzers/fuzz_cbor.cpp 594 865 15 27 2708 1424 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_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 73 21.6%
gold [1:9] 11 3.26%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 253 75.0%
All colors 337 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
18 145 jsoncons::operator<(jsoncons::basic_bigint > const&, jsoncons::basic_bigint > const&) call site: 00145
11 102 jsoncons::basic_bigint >::operator+=(jsoncons::basic_bigint > const&) call site: 00102
10 223 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00223 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
6 315 jsoncons::basic_bigint >::operator>>=(unsigned long) call site: 00315
5 260 jsoncons::basic_bigint >::operator<<=(unsigned long) call site: 00260
4 127 jsoncons::basic_bigint >::operator+=(jsoncons::basic_bigint > const&) call site: 00127
3 30 jsoncons::detail::bigint_storage >::resize(unsigned long) call site: 00030 __clang_call_terminate
3 173 jsoncons::to_bigint_result jsoncons::to_bigint >(char const*, unsigned long, jsoncons::basic_bigint >&, std::__1::allocator const&) call site: 00173 __cxa_allocate_exception
2 4 jsoncons::basic_bigint >::basic_bigint (char const*, std::__1::allocator const&) call site: 00004
2 25 jsoncons::detail::bigint_storage >::allocated_storage::reserve(unsigned long, std::__1::allocator const&) call site: 00025
2 61 jsoncons::detail::bigint_storage >::allocated_storage::allocated_storage(jsoncons::detail::bigint_storage >::allocated_storage const&, std::__1::allocator const&) call site: 00061 __cxa_rethrow
1 67 jsoncons::detail::bigint_storage >::allocated_storage::allocated_storage(jsoncons::detail::bigint_storage >::allocated_storage const&, std::__1::allocator const&) call site: 00067 __clang_call_terminate

Runtime coverage analysis

Covered functions
80
Functions that are reachable but not covered
16
Reachable functions
169
Percentage of reachable functions covered
90.53%
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 82
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 1
/src/jsoncons/./include/jsoncons/utility/more_type_traits.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 20 13.1%
gold [1:9] 5 3.28%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 127 83.5%
All colors 152 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
3 37 jsoncons::stream_source >::fill_buffer() call site: 00037 __cxa_end_catch
3 145 LLVMFuzzerTestOneInput call site: 00145
2 9 jsoncons::bson::basic_bson_encoder >, void>, std::__1::allocator >::basic_bson_encoder(jsoncons::bytes_sink >, void>&&, std::__1::allocator const&) call site: 00009
2 17 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: 00017
2 20 jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&) call site: 00020
2 27 LLVMFuzzerTestOneInput call site: 00027
2 41 jsoncons::stream_source >::read(unsigned char*, unsigned long) call site: 00041 __cxa_end_catch
2 56 jsoncons::bson::basic_bson_parser >, std::__1::allocator >::end_document(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00056 __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 15 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: 00015

Runtime coverage analysis

Covered functions
115
Functions that are reachable but not covered
25
Reachable functions
153
Percentage of reachable functions covered
83.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_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 15
/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_util.hpp 2
/src/jsoncons/./include/jsoncons/source.hpp 13
/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/utility/byte_string.hpp 1
/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_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 170 41.4%
gold [1:9] 18 4.39%
yellow [10:29] 5 1.21%
greenyellow [30:49] 3 0.73%
lawngreen 50+ 214 52.1%
All colors 410 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 348 void jsoncons::prettify_string , std::__1::allocator > >(char const*, unsigned long, int, int, int, std::__1::basic_string , std::__1::allocator >&) call site: 00348 snprintf
18 308 jsoncons::write_double::write_double(jsoncons::float_chars_format, int) call site: 00308 ldexp
8 289 _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: 00289 _ZN8jsoncons15bytes_to_stringIPKhNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEENS3_9enable_ifIXaasr3std7is_sameINS3_15iterator_traitsIT_E10value_typeEhEE5valuesr10ext_traits9is_stringIT0_EE5valueEmE4typeESC_SC_NS_12semantic_tagERSF_
8 387 bool jsoncons::dtoa_general , std::__1::allocator > >(double, char, std::__1::basic_string , std::__1::allocator >&, std::__1::integral_constant ) call site: 00387 __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 124 jsoncons::basic_json_parser >::end_positive_value(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00124
4 264 jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00264 __cxa_allocate_exception
3 52 jsoncons::stream_source >::fill_buffer() call site: 00052 __cxa_end_catch
3 96 _ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_ call site: 00096
3 108 jsoncons::decstr_to_double(char const*, unsigned long, double&) call site: 00108
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
149
Functions that are reachable but not covered
66
Reachable functions
323
Percentage of reachable functions covered
79.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_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_util.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 14
/src/jsoncons/./include/jsoncons/staj_event.hpp 4
/src/jsoncons/./include/jsoncons/typed_array_view.hpp 1
/src/jsoncons/./include/jsoncons/detail/span.hpp 5
/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 58 18.9%
gold [1:9] 2 0.65%
yellow [10:29] 6 1.96%
greenyellow [30:49] 2 0.65%
lawngreen 50+ 238 77.7%
All colors 306 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 289 jsoncons::basic_json_reader >, std::__1::allocator >::check_done(std::__1::error_code&) call site: 00289
4 125 jsoncons::basic_json_parser >::end_positive_value(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00125
4 265 jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00265 __cxa_allocate_exception
3 12 jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&) call site: 00012
3 55 jsoncons::stream_source >::fill_buffer() call site: 00055 __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 9 jsoncons::json_source_adaptor > >::json_source_adaptor , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&) call site: 00009
2 26 jsoncons::basic_json_parser >::basic_json_parser(jsoncons::basic_json_decode_options const&, std::__1::allocator const&) call site: 00026 nan
2 39 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: 00039
2 83 _ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_ call site: 00083
2 105 jsoncons::decstr_to_double(char const*, unsigned long, double&) call site: 00105 strtod

Runtime coverage analysis

Covered functions
117
Functions that are reachable but not covered
36
Reachable functions
232
Percentage of reachable functions covered
84.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_json_parser_max.cpp 1
/src/jsoncons/./include/jsoncons/json_visitor.hpp 16
/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_util.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_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 24 14.9%
gold [1:9] 22 13.6%
yellow [10:29] 20 12.4%
greenyellow [30:49] 3 1.86%
lawngreen 50+ 92 57.1%
All colors 161 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() call site: 00029 __cxa_end_catch
3 155 LLVMFuzzerTestOneInput call site: 00155
2 8 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: 00008
2 11 jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&) call site: 00011
2 19 LLVMFuzzerTestOneInput call site: 00019
2 57 jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::read_value(jsoncons::basic_json_visitor &, unsigned char, std::__1::error_code&) call site: 00057
2 60 std::__1::enable_if ::type jsoncons::binary::big_to_native (unsigned char const*, unsigned long) call site: 00060 _ZN8jsoncons6binary9byte_swapIjEENSt3__19enable_ifIXaasr3std11is_integralIT_EE5valueeqstS4_Lm4EES4_E4typeES4_
2 149 jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::parse(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00149 __clang_call_terminate
1 6 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: 00006
1 97 jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::begin_array(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00097
1 159 LLVMFuzzerTestOneInput call site: 00159

Runtime coverage analysis

Covered functions
80
Functions that are reachable but not covered
27
Reachable functions
145
Percentage of reachable functions covered
81.38%
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 18
/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_util.hpp 2
/src/jsoncons/./include/jsoncons/source.hpp 14
/src/jsoncons/./include/jsoncons/utility/binary.hpp 14
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 2
/src/jsoncons/./include/jsoncons/utility/read_number.hpp 1
/src/jsoncons/./include/jsoncons/config/jsoncons_config.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 22 12.8%
gold [1:9] 0 0.0%
yellow [10:29] 7 4.09%
greenyellow [30:49] 4 2.33%
lawngreen 50+ 138 80.7%
All colors 171 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 38 jsoncons::stream_source >::fill_buffer() call site: 00038 __cxa_end_catch
3 164 LLVMFuzzerTestOneInput call site: 00164
2 9 jsoncons::ubjson::basic_ubjson_encoder >, void>, std::__1::allocator >::basic_ubjson_encoder(jsoncons::bytes_sink >, void>&&, std::__1::allocator const&) call site: 00009
2 17 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: 00017
2 20 jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&) call site: 00020
2 28 LLVMFuzzerTestOneInput call site: 00028
2 158 jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::parse(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00158 __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 15 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: 00015
1 106 jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::begin_array(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00106

Runtime coverage analysis

Covered functions
106
Functions that are reachable but not covered
25
Reachable functions
156
Percentage of reachable functions covered
83.97%
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 16
/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_util.hpp 2
/src/jsoncons/./include/jsoncons/source.hpp 14
/src/jsoncons/./include/jsoncons/utility/binary.hpp 14
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 2
/src/jsoncons/./include/jsoncons/utility/read_number.hpp 1
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 1

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 111 23.1%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 368 76.8%
All colors 479 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 400 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00400
14 324 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00324 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
13 256 jsoncons::detail::bigint_storage >::operator=(jsoncons::detail::bigint_storage > const&) call site: 00256
11 349 jsoncons::basic_bigint >::operator<<=(unsigned long) call site: 00349
6 378 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00378
5 242 jsoncons::operator<(jsoncons::basic_bigint > const&, jsoncons::basic_bigint > const&) call site: 00242
5 394 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00394 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
4 291 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00291 __cxa_allocate_exception
4 473 LLVMFuzzerTestOneInput call site: 00473
3 37 jsoncons::stream_source >::fill_buffer() call site: 00037 __cxa_end_catch
3 225 jsoncons::basic_bigint >::operator-=(jsoncons::basic_bigint > const&) call site: 00225
2 8 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: 00008

Runtime coverage analysis

Covered functions
222
Functions that are reachable but not covered
35
Reachable functions
291
Percentage of reachable functions covered
87.97%
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 4
/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_util.hpp 2
/src/jsoncons/./include/jsoncons/source.hpp 13
/src/jsoncons/./include/jsoncons/item_event_visitor.hpp 17
/src/jsoncons/./include/jsoncons/utility/binary.hpp 20
/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 73
/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 99 20.1%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 392 79.8%
All colors 491 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 410 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00410
13 266 jsoncons::detail::bigint_storage >::operator=(jsoncons::detail::bigint_storage > const&) call site: 00266
11 359 jsoncons::basic_bigint >::operator<<=(unsigned long) call site: 00359
6 388 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00388
5 252 jsoncons::operator<(jsoncons::basic_bigint > const&, jsoncons::basic_bigint > const&) call site: 00252
4 301 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00301 __cxa_allocate_exception
4 483 LLVMFuzzerTestOneInput call site: 00483
3 47 jsoncons::stream_source >::fill_buffer() call site: 00047 __cxa_end_catch
3 235 jsoncons::basic_bigint >::operator-=(jsoncons::basic_bigint > const&) call site: 00235
3 404 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00404 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
2 9 jsoncons::msgpack::basic_msgpack_encoder >, void>, std::__1::allocator >::basic_msgpack_encoder(jsoncons::bytes_sink >, void>&&, std::__1::allocator const&) call site: 00009
2 17 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: 00017

Runtime coverage analysis

Covered functions
257
Functions that are reachable but not covered
37
Reachable functions
308
Percentage of reachable functions covered
87.99%
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 4
/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_util.hpp 2
/src/jsoncons/./include/jsoncons/source.hpp 13
/src/jsoncons/./include/jsoncons/item_event_visitor.hpp 17
/src/jsoncons/./include/jsoncons/utility/binary.hpp 20
/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 73
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 1
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp 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 641 84.2%
gold [1:9] 67 8.80%
yellow [10:29] 46 6.04%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 7 0.91%
All colors 761 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
342 90 jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::read_item(jsoncons::basic_item_event_visitor &, std::__1::error_code&) call site: 00090 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEmLIlEENS1_9enable_ifIXsr10ext_traits17is_signed_integerIT_EE5valueERS4_E4typeES7_
107 608 std::__1::enable_if ::type jsoncons::binary::big_to_native (unsigned char const*, unsigned long) call site: 00608 _ZN8jsoncons14integer_to_hexImNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEENS1_9enable_ifIXsr10ext_traits10is_integerIT_EE5valueEmE4typeES9_RT0_
74 433 _ZN8jsoncons24basic_item_event_visitorIcE17byte_string_valueINSt3__16vectorIhNS3_9allocatorIhEEEEEEbRKT_NS_12semantic_tagERKNS_11ser_contextERNS3_10error_codeENS3_9enable_ifIXsr10ext_traits16is_byte_sequenceIS8_EE5valueEiE4typeE call site: 00433 _ZN8jsoncons24basic_item_event_visitorIcE17byte_string_valueINSt3__16vectorIhNS3_9allocatorIhEEEEEEbRKT_NS_12semantic_tagERKNS_11ser_contextERNS3_10error_codeENS3_9enable_ifIXsr10ext_traits16is_byte_sequenceIS8_EE5valueEiE4typeE
19 585 jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::read_text_string(std::__1::basic_string , std::__1::allocator >&, std::__1::error_code&) call site: 00585 _ZN8jsoncons14unicode_traits8validateIcEENSt3__19enable_ifIXsr10ext_traits8is_char8IT_EE5valueENS0_14convert_resultIS4_EEE4typeEPKS4_m
17 551 jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::read_byte_string(std::__1::vector >&, std::__1::error_code&) call site: 00551
13 510 jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::get_int64_value(std::__1::error_code&) call site: 00510
11 721 jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::read_item(jsoncons::basic_item_event_visitor &, std::__1::error_code&) call site: 00721
10 736 jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::parse(jsoncons::basic_item_event_visitor &, std::__1::error_code&) call site: 00736
6 10 jsoncons::cbor::basic_cbor_encoder >, void>, std::__1::allocator >::basic_cbor_encoder(jsoncons::bytes_sink >, void>&&, jsoncons::cbor::cbor_encode_options const&, std::__1::allocator const&) call site: 00010
4 753 LLVMFuzzerTestOneInput call site: 00753
3 63 jsoncons::stream_source >::fill_buffer() call site: 00063 __cxa_end_catch
3 70 jsoncons::stream_source >::read(unsigned char*, unsigned long) call site: 00070 __cxa_begin_catch

Runtime coverage analysis

Covered functions
96
Functions that are reachable but not covered
275
Reachable functions
454
Percentage of reachable functions covered
39.43%
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 4
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_options.hpp 11
/src/jsoncons/./include/jsoncons/json_visitor.hpp 4
/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 40
/src/jsoncons/./include/jsoncons/ser_util.hpp 2
/src/jsoncons/./include/jsoncons/source.hpp 14
/src/jsoncons/./include/jsoncons/item_event_visitor.hpp 33
/src/jsoncons/./include/jsoncons/utility/byte_string.hpp 5
/src/jsoncons/./include/jsoncons/utility/bigint.hpp 79
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp 1
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 1
/src/jsoncons/./include/jsoncons/detail/span.hpp 11
/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

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 60 18.0%
gold [1:9] 1 0.30%
yellow [10:29] 2 0.60%
greenyellow [30:49] 5 1.50%
lawngreen 50+ 264 79.5%
All colors 332 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 312 jsoncons::basic_json_reader >, std::__1::allocator >::check_done(std::__1::error_code&) call site: 00312
4 149 jsoncons::basic_json_parser >::end_positive_value(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00149
4 288 jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00288 __cxa_allocate_exception
3 35 jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&) call site: 00035
3 79 jsoncons::stream_source >::fill_buffer() call site: 00079 __cxa_end_catch
3 121 _ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_ call site: 00121
3 133 jsoncons::decstr_to_double(char const*, unsigned long, double&) call site: 00133
2 32 jsoncons::json_source_adaptor > >::json_source_adaptor , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&) call site: 00032
2 50 jsoncons::basic_json_parser >::basic_json_parser(jsoncons::basic_json_decode_options const&, std::__1::allocator const&) call site: 00050 nan
2 63 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: 00063
2 107 _ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_ call site: 00107
2 129 jsoncons::decstr_to_double(char const*, unsigned long, double&) call site: 00129 strtod

Runtime coverage analysis

Covered functions
194
Functions that are reachable but not covered
37
Reachable functions
271
Percentage of reachable functions covered
86.35%
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 16
/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_util.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_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 93 12.6%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 640 87.3%
All colors 733 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 291 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00291 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
12 215 jsoncons::detail::bigint_storage >::operator=(jsoncons::detail::bigint_storage > const&) call site: 00215
6 372 jsoncons::basic_bigint >::operator>>=(unsigned long) call site: 00372
5 316 jsoncons::basic_bigint >::operator<<=(unsigned long) call site: 00316
4 258 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00258 __cxa_allocate_exception
4 727 LLVMFuzzerTestOneInput call site: 00727
3 37 jsoncons::stream_source >::fill_buffer() call site: 00037 __cxa_end_catch
3 184 jsoncons::basic_bigint >::operator-=(jsoncons::basic_bigint > const&) call site: 00184
3 361 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00361 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
2 8 jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::basic_cbor_parser , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&, jsoncons::cbor::cbor_decode_options const&, std::__1::allocator const&) call site: 00008
2 11 jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&) call site: 00011
2 18 jsoncons::cbor::basic_cbor_reader >, std::__1::allocator >::basic_cbor_reader , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&, jsoncons::basic_json_visitor &, jsoncons::cbor::cbor_decode_options const&, std::__1::allocator const&) call site: 00018

Runtime coverage analysis

Covered functions
377
Functions that are reachable but not covered
32
Reachable functions
423
Percentage of reachable functions covered
92.43%
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 4
/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 40
/src/jsoncons/./include/jsoncons/ser_util.hpp 2
/src/jsoncons/./include/jsoncons/source.hpp 14
/src/jsoncons/./include/jsoncons/item_event_visitor.hpp 33
/src/jsoncons/./include/jsoncons/utility/binary.hpp 13
/src/jsoncons/./include/jsoncons/utility/byte_string.hpp 5
/src/jsoncons/./include/jsoncons/utility/bigint.hpp 79
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp 1
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp 1
/src/jsoncons/./include/jsoncons/detail/span.hpp 11
/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

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 18 12.6%
gold [1:9] 5 3.52%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 119 83.8%
All colors 142 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
3 28 jsoncons::stream_source >::fill_buffer() call site: 00028 __cxa_end_catch
3 136 LLVMFuzzerTestOneInput call site: 00136
2 8 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: 00008
2 11 jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&) call site: 00011
2 18 LLVMFuzzerTestOneInput call site: 00018
2 32 jsoncons::stream_source >::read(unsigned char*, unsigned long) call site: 00032 __cxa_end_catch
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
1 6 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: 00006
1 140 LLVMFuzzerTestOneInput call site: 00140

Runtime coverage analysis

Covered functions
79
Functions that are reachable but not covered
24
Reachable functions
142
Percentage of reachable functions covered
83.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_bson_parser_max.cpp 1
/src/jsoncons/./include/jsoncons/json_visitor.hpp 17
/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_util.hpp 2
/src/jsoncons/./include/jsoncons/source.hpp 13
/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/utility/byte_string.hpp 1
/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_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 28 10.6%
gold [1:9] 0 0.0%
yellow [10:29] 22 8.39%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 212 80.9%
All colors 262 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
3 183 _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: 00183
3 187 _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: 00187
2 51 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: 00051
2 54 jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&) call site: 00054
2 68 jsoncons::stream_source >::fill_buffer() call site: 00068 __cxa_end_catch
2 71 jsoncons::stream_source >::read(unsigned char*, unsigned long) call site: 00071 __cxa_end_catch
2 86 jsoncons::bson::basic_bson_parser >, std::__1::allocator >::end_document(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00086 __clang_call_terminate
2 229 _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: 00229
2 232 _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: 00232
2 235 jsoncons::basic_json > jsoncons::bson::decode_bson >, std::__1::basic_istringstream , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&) call site: 00235
2 245 jsoncons::basic_json > jsoncons::bson::decode_bson >, std::__1::basic_istringstream , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&) call site: 00245
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

Runtime coverage analysis

Covered functions
351
Functions that are reachable but not covered
37
Reachable functions
297
Percentage of reachable functions covered
87.54%
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 15
/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_util.hpp 7
/src/jsoncons/./include/jsoncons/source.hpp 14
/src/jsoncons/./include/jsoncons/utility/binary.hpp 4
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 2
/src/jsoncons/./include/jsoncons/utility/byte_string.hpp 1
/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_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 459 65.7%
gold [1:9] 2 0.28%
yellow [10:29] 0 0.0%
greenyellow [30:49] 4 0.57%
lawngreen 50+ 233 33.3%
All colors 698 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
111 238 jsoncons::decstr_to_double(char const*, unsigned long, double&) call site: 00238 _ZN8jsoncons14unicode_traits8validateIcEENSt3__19enable_ifIXsr10ext_traits8is_char8IT_EE5valueENS0_14convert_resultIS4_EEE4typeEPKS4_m
104 499 jsoncons::csv::basic_csv_parser >::parse_some(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00499 _ZN8jsoncons18basic_json_visitorIcE17byte_string_valueINS_17basic_byte_stringINSt3__19allocatorIhEEEEEEbRKT_NS_12semantic_tagERKNS_11ser_contextENS4_9enable_ifIXsr10ext_traits16is_byte_sequenceIS8_EE5valueEiE4typeE
43 403 jsoncons::ser_error::ser_error(std::__1::error_code, unsigned long, unsigned long) call site: 00403 __cxa_throw
41 170 jsoncons::csv::basic_csv_parser >::end_unquoted_string_value(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00170 _ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_
30 100 void jsoncons::csv::detail::parse_column_types > >(std::__1::basic_string , std::__1::allocator > const&, std::__1::vector >&) call site: 00100 __cxa_allocate_exception
12 388 jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00388 __cxa_allocate_exception
11 463 jsoncons::csv::basic_csv_parser >::end_value(jsoncons::basic_json_visitor &, bool, std::__1::error_code&) call site: 00463 isspace
8 18 jsoncons::heap::heap_string_factory >::destroy(jsoncons::heap::heap_string >*) call site: 00018
7 226 _ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_ call site: 00226
6 375 jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00375
6 481 jsoncons::csv::basic_csv_parser >::end_quoted_string_value(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00481
4 54 LLVMFuzzerTestOneInput call site: 00054

Runtime coverage analysis

Covered functions
219
Functions that are reachable but not covered
195
Reachable functions
479
Percentage of reachable functions covered
59.29%
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 28
/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_util.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 32
/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_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 43 15.3%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 238 84.6%
All colors 281 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
8 22 jsoncons::heap::heap_string_factory >::destroy(jsoncons::heap::heap_string >*) call site: 00022
5 69 jsoncons::stream_source >::fill_buffer() call site: 00069 __cxa_end_catch
5 227 void jsoncons::basic_json >::construct >::null_storage>() call site: 00227
3 202 _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 call site: 00202
3 206 _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 call site: 00206
2 51 jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::basic_ubjson_parser >&>(std::__1::basic_istream >&, jsoncons::ubjson::ubjson_decode_options const&, std::__1::allocator const&) call site: 00051
2 54 jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&) call site: 00054
2 188 jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::parse(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00188 __clang_call_terminate
2 248 _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 call site: 00248
2 251 _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 call site: 00251
2 254 jsoncons::basic_json > jsoncons::ubjson::decode_ubjson >, std::__1::basic_istringstream , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&) call site: 00254
2 264 jsoncons::basic_json > jsoncons::ubjson::decode_ubjson >, std::__1::basic_istringstream , std::__1::allocator >&>(std::__1::basic_istringstream , std::__1::allocator >&) call site: 00264

Runtime coverage analysis

Covered functions
324
Functions that are reachable but not covered
50
Reachable functions
300
Percentage of reachable functions covered
83.33%
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_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 16
/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_util.hpp 7
/src/jsoncons/./include/jsoncons/source.hpp 15
/src/jsoncons/./include/jsoncons/utility/binary.hpp 14
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp 2
/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_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 122 20.2%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 479 79.7%
All colors 601 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 440 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00440
14 364 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00364 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
13 296 jsoncons::detail::bigint_storage >::operator=(jsoncons::detail::bigint_storage > const&) call site: 00296
11 389 jsoncons::basic_bigint >::operator<<=(unsigned long) call site: 00389
6 418 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00418
5 282 jsoncons::operator<(jsoncons::basic_bigint > const&, jsoncons::basic_bigint > const&) call site: 00282
5 434 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00434 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
4 331 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00331 __cxa_allocate_exception
4 521 _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: 00521
3 265 jsoncons::basic_bigint >::operator-=(jsoncons::basic_bigint > const&) call site: 00265
3 526 _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: 00526
2 51 jsoncons::msgpack::basic_msgpack_parser >, std::__1::allocator >::basic_msgpack_parser >&>(std::__1::basic_istream >&, jsoncons::msgpack::msgpack_decode_options const&, std::__1::allocator const&) call site: 00051

Runtime coverage analysis

Covered functions
506
Functions that are reachable but not covered
50
Reachable functions
452
Percentage of reachable functions covered
88.94%
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 4
/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_util.hpp 7
/src/jsoncons/./include/jsoncons/source.hpp 14
/src/jsoncons/./include/jsoncons/item_event_visitor.hpp 17
/src/jsoncons/./include/jsoncons/utility/binary.hpp 20
/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 73
/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_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 74 20.6%
gold [1:9] 7 1.94%
yellow [10:29] 1 0.27%
greenyellow [30:49] 1 0.27%
lawngreen 50+ 276 76.8%
All colors 359 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 302 _ZN8jsoncons10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEE5parseINS2_12basic_stringIcNS2_11char_traitsIcEES4_EEEENS2_9enable_ifIXsr10ext_traits14is_sequence_ofIT_cEE5valueES5_E4typeERKSC_RKNS_25basic_json_decode_optionsIcEE call site: 00302 __cxa_allocate_exception
8 25 jsoncons::heap::heap_string_factory >::destroy(jsoncons::heap::heap_string >*) call site: 00025
5 329 void jsoncons::basic_json >::construct >::null_storage>() call site: 00329
4 133 jsoncons::basic_json_parser >::end_positive_value(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00133
4 266 jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00266
4 273 jsoncons::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor &, std::__1::error_code&) call site: 00273 __cxa_allocate_exception
4 351 LLVMFuzzerTestOneInput call site: 00351
3 105 _ZN8jsoncons14dec_to_integerIlcEENSt3__19enable_ifIXaasr10ext_traits14integer_limitsIT_EE14is_specializedsr10ext_traits14integer_limitsIS3_EE9is_signedENS_16to_number_resultIT0_EEE4typeEPKS5_mRS3_ call site: 00105
3 117 jsoncons::decstr_to_double(char const*, unsigned long, double&) call site: 00117
3 281 jsoncons::basic_json_parser >::parse_some(jsoncons::basic_json_visitor &) call site: 00281
2 57 jsoncons::basic_json_parser >::basic_json_parser(jsoncons::basic_json_decode_options const&, std::__1::allocator const&) call site: 00057 nan
2 74 _ZN8jsoncons10basic_jsonIcNS_13sorted_policyENSt3__19allocatorIcEEE5parseINS2_12basic_stringIcNS2_11char_traitsIcEES4_EEEENS2_9enable_ifIXsr10ext_traits14is_sequence_ofIT_cEE5valueES5_E4typeERKSC_RKNS_25basic_json_decode_optionsIcEE call site: 00074

Runtime coverage analysis

Covered functions
306
Functions that are reachable but not covered
53
Reachable functions
300
Percentage of reachable functions covered
82.33%
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 14
/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_util.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_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 109 12.6%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 756 87.3%
All colors 865 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 331 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00331 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
12 255 jsoncons::detail::bigint_storage >::operator=(jsoncons::detail::bigint_storage > const&) call site: 00255
6 412 jsoncons::basic_bigint >::operator>>=(unsigned long) call site: 00412
5 356 jsoncons::basic_bigint >::operator<<=(unsigned long) call site: 00356
4 298 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00298 __cxa_allocate_exception
4 775 _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: 00775
3 224 jsoncons::basic_bigint >::operator-=(jsoncons::basic_bigint > const&) call site: 00224
3 401 jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const call site: 00401 _ZN8jsoncons12basic_bigintINSt3__19allocatorImEEEC2ImEET_RKS3_PNS1_9enable_ifIXsr3std11is_integralIS6_EE5valueEvE4typeE
3 780 _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: 00780
3 860 LLVMFuzzerTestOneInput call site: 00860
2 51 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: 00051
2 54 jsoncons::stream_source >::stream_source(std::__1::basic_istream >&, std::__1::allocator const&) call site: 00054

Runtime coverage analysis

Covered functions
689
Functions that are reachable but not covered
57
Reachable functions
594
Percentage of reachable functions covered
90.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.
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_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 4
/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 42
/src/jsoncons/./include/jsoncons/ser_util.hpp 7
/src/jsoncons/./include/jsoncons/source.hpp 15
/src/jsoncons/./include/jsoncons/item_event_visitor.hpp 33
/src/jsoncons/./include/jsoncons/utility/binary.hpp 13
/src/jsoncons/./include/jsoncons/utility/byte_string.hpp 5
/src/jsoncons/./include/jsoncons/utility/bigint.hpp 79
/src/jsoncons/./include/jsoncons/detail/span.hpp 11
/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 9
/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 283 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 283 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'] 15 0 24 3 2 268 0 1128 609
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'] 17 0 534 63 5 332 0 919 305
jsoncons::order_preserving_json_object ,std::__1::allocator >,jsoncons::basic_json >,std::__1::vector>::~order_preserving_json_object() /src/jsoncons/./include/jsoncons/json_object.hpp 1 ['N/A'] 8 0 17 3 2 213 0 377 237
jsoncons::sorted_json_object ,std::__1::allocator >,jsoncons::basic_json >,std::__1::vector>::~sorted_json_object() /src/jsoncons/./include/jsoncons/json_object.hpp 1 ['N/A'] 8 0 17 3 2 213 0 377 212
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 59 0 215 181

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

Functions statically reachable by fuzzers
74.0%
1898 / 2558
Cyclomatic complexity statically reachable by fuzzers
80.0%
9428 / 11848

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_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 >::operator+=(jsoncons::basic_bigint > 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::basic_bigint >::operator+=(jsoncons::basic_bigint > const&)', 'jsoncons::detail::bigint_storage >::resize(unsigned long)', '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&)', 'jsoncons::detail::bigint_storage >::allocated_storage::reserve(unsigned long, 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()', '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::stream_source >::read(unsigned char*, unsigned long)', '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_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_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()', '_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()', '_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_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()', '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&)', 'jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::begin_array(jsoncons::basic_json_visitor&, std::__1::error_code&)']

/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()', '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_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&)', 'jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::begin_array(jsoncons::basic_json_visitor&, std::__1::error_code&)']

/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::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 >::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', 'jsoncons::stream_source >::fill_buffer()']

/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::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::stream_source >::fill_buffer()', '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_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 >::read_item(jsoncons::basic_item_event_visitor&, std::__1::error_code&)', 'std::__1::enable_if::type jsoncons::binary::big_to_native(unsigned char const*, unsigned long)', '_ZN8jsoncons24basic_item_event_visitorIcE17byte_string_valueINSt3__16vectorIhNS3_9allocatorIhEEEEEEbRKT_NS_12semantic_tagERKNS_11ser_contextERNS3_10error_codeENS3_9enable_ifIXsr10ext_traits16is_byte_sequenceIS8_EE5valueEiE4typeE', 'jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::read_text_string(std::__1::basic_string, std::__1::allocator >&, std::__1::error_code&)', 'jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::read_byte_string(std::__1::vector >&, std::__1::error_code&)', 'jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::get_int64_value(std::__1::error_code&)', 'jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::read_item(jsoncons::basic_item_event_visitor&, std::__1::error_code&)', 'jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::parse(jsoncons::basic_item_event_visitor&, std::__1::error_code&)', 'jsoncons::cbor::basic_cbor_encoder >, void>, std::__1::allocator >::basic_cbor_encoder(jsoncons::bytes_sink >, void>&&, jsoncons::cbor::cbor_encode_options const&, std::__1::allocator const&)', 'LLVMFuzzerTestOneInput']

/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()', '_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_cbor_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 >::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', 'LLVMFuzzerTestOneInput', 'jsoncons::stream_source >::fill_buffer()', 'jsoncons::basic_bigint >::operator-=(jsoncons::basic_bigint > const&)', 'jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', 'jsoncons::cbor::basic_cbor_parser >, std::__1::allocator >::basic_cbor_parser, std::__1::allocator >&>(std::__1::basic_istringstream, std::__1::allocator >&, jsoncons::cbor::cbor_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()', '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::stream_source >::read(unsigned char*, unsigned long)', '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_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=['_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::stream_source >::fill_buffer()', 'jsoncons::stream_source >::read(unsigned char*, unsigned long)', '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 >&)']

/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::basic_json_parser >::parse_some_(jsoncons::basic_json_visitor&, std::__1::error_code&)']

/src/jsoncons/./fuzzers/fuzz_ubjson.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::heap::heap_string_factory >::destroy(jsoncons::heap::heap_string >*)', 'jsoncons::stream_source >::fill_buffer()', 'void jsoncons::basic_json >::construct >::null_storage>()', '_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', 'jsoncons::ubjson::basic_ubjson_parser >, std::__1::allocator >::basic_ubjson_parser >&>(std::__1::basic_istream >&, 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&)']

/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::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 >::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', '_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', 'jsoncons::basic_bigint >::operator-=(jsoncons::basic_bigint > const&)']

/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_traits14is_sequence_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_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::basic_bigint >::operator-=(jsoncons::basic_bigint > const&)', 'jsoncons::basic_bigint >::divide(jsoncons::basic_bigint > const&, jsoncons::basic_bigint >&, jsoncons::basic_bigint >&, bool) const', 'LLVMFuzzerTestOneInput']

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
_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']
jsoncons::bson::basic_bson_encoder >,void>,std::__1::allocator >::visit_int64(long,jsoncons::semantic_tag,jsoncons::ser_contextconst&,std::__1::error_code&) 53 26 49.05% ['fuzz_bson_encoder']
jsoncons::basic_json_parser >::end_negative_value(jsoncons::basic_json_visitor &,std::__1::error_code&) 36 17 47.22% ['fuzz_parse', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_csv', 'fuzz_json_encoder']
jsoncons::basic_json_parser >::end_positive_value(jsoncons::basic_json_visitor &,std::__1::error_code&) 36 17 47.22% ['fuzz_parse', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_csv', 'fuzz_json_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']
unsignedlongjsoncons::write_double::operator() ,std::__1::allocator >>>(double,jsoncons::string_sink ,std::__1::allocator >>&) 72 19 26.38% ['fuzz_cbor', 'fuzz_cbor_parser_max', 'fuzz_msgpack_encoder', 'fuzz_msgpack_parser_max', 'fuzz_msgpack', 'fuzz_json_encoder']
booljsoncons::dtoa_general ,std::__1::allocator >>>(double,char,jsoncons::string_sink ,std::__1::allocator >>&,std::__1::integral_constant ) 33 18 54.54% ['fuzz_cbor', 'fuzz_cbor_parser_max', 'fuzz_msgpack_encoder', 'fuzz_msgpack_parser_max', 'fuzz_msgpack', 'fuzz_json_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::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::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::cbor::basic_cbor_encoder >,void>,std::__1::allocator >::write_byte_string(jsoncons::byte_string_viewconst&) 39 11 28.20% ['fuzz_cbor_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 >::write_bignum_value(std::__1::basic_string_view >const&) 63 10 15.87% ['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']
_ZN8jsoncons14unicode_traits12to_codepointIcjEENSt3__19enable_ifIXaasr10ext_traits8is_char8IT_EE5valuesr10ext_traits9is_char32IT0_EE5valueENS0_14convert_resultIS4_EEE4typeEPKS4_SB_RS5_NS0_10conv_flagsE 66 19 28.78% ['fuzz_json_encoder']
jsoncons::basic_json >::swap(jsoncons::basic_json >&) 36 18 50.0% ['fuzz_ubjson', 'fuzz_cbor', 'fuzz_parse', 'fuzz_msgpack', 'fuzz_bson']
jsoncons::bson::bson_error_category_impl::message(int)const 35 19 54.28% ['fuzz_bson']
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/typed_array_view.hpp ['fuzz_json_cursor'] []
/src/jsoncons/./fuzzers/fuzz_cbor.cpp ['fuzz_cbor'] []
/src/jsoncons/./fuzzers/fuzz_parse.cpp ['fuzz_parse'] []
/src/jsoncons/./include/jsoncons_ext/csv/csv_reader.hpp ['fuzz_csv'] []
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_parser.hpp ['fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_msgpack'] []
/src/jsoncons/./include/jsoncons/json_decoder.hpp ['fuzz_bson', 'fuzz_csv', 'fuzz_ubjson', 'fuzz_msgpack', 'fuzz_parse', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_options.hpp ['fuzz_ubjson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_ubjson'] []
/usr/local/bin/../include/c++/v1/__exception/exception.h ['fuzz_bson', 'fuzz_csv', 'fuzz_ubjson', 'fuzz_msgpack', 'fuzz_parse', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons_ext/bson/decode_bson.hpp ['fuzz_bson'] []
/src/jsoncons/./include/jsoncons/json_parser.hpp ['fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_json_encoder', 'fuzz_csv', 'fuzz_parse'] []
/src/jsoncons/./fuzzers/fuzz_json_encoder.cpp ['fuzz_json_encoder'] []
/src/jsoncons/./include/jsoncons_ext/msgpack/decode_msgpack.hpp ['fuzz_msgpack'] []
/src/jsoncons/./include/jsoncons/json_error.hpp [] []
/src/jsoncons/./include/jsoncons/json_type.hpp ['fuzz_bson', 'fuzz_ubjson', 'fuzz_msgpack', 'fuzz_parse', 'fuzz_cbor'] []
/src/jsoncons/./fuzzers/fuzz_json_parser_max.cpp ['fuzz_json_parser_max'] []
/src/jsoncons/./include/jsoncons/config/compiler_support.hpp ['fuzz_json_cursor'] []
/src/jsoncons/./fuzzers/fuzz_bson_encoder.cpp ['fuzz_bson_encoder'] []
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_parser.hpp ['fuzz_ubjson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_ubjson'] []
/src/jsoncons/./include/jsoncons/sink.hpp ['fuzz_bson_encoder', 'fuzz_ubjson_encoder', 'fuzz_msgpack_encoder', 'fuzz_cbor_encoder', 'fuzz_json_encoder'] []
/src/jsoncons/./include/jsoncons/json_cursor.hpp ['fuzz_json_cursor'] []
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_error.hpp [] []
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_encoder.hpp ['fuzz_msgpack_encoder'] []
/src/jsoncons/./include/jsoncons/json_visitor.hpp ['fuzz_bson_encoder', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_ubjson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_cbor_encoder', 'fuzz_json_encoder', 'fuzz_cbor_parser_max', 'fuzz_bson_parser_max', 'fuzz_bson', 'fuzz_csv', 'fuzz_ubjson', 'fuzz_msgpack', 'fuzz_parse', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/detail/expected.hpp ['fuzz_bson', 'fuzz_ubjson', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./fuzzers/fuzz_bigint.cpp ['fuzz_bigint'] []
/src/jsoncons/./include/jsoncons_ext/ubjson/decode_ubjson.hpp ['fuzz_ubjson'] []
/src/jsoncons/./include/jsoncons/json_reader.hpp ['fuzz_json_parser_max', 'fuzz_json_encoder'] []
/src/jsoncons/./fuzzers/fuzz_msgpack_parser_max.cpp ['fuzz_msgpack_parser_max'] []
/src/jsoncons/./include/jsoncons/utility/byte_string.hpp ['fuzz_bson_encoder', 'fuzz_json_cursor', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_cbor_encoder', 'fuzz_cbor_parser_max', 'fuzz_bson_parser_max', 'fuzz_bson', 'fuzz_csv', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_reader.hpp ['fuzz_cbor_encoder', 'fuzz_cbor_parser_max', 'fuzz_cbor'] []
/usr/local/bin/../include/c++/v1/stdexcept ['fuzz_json_cursor', 'fuzz_csv'] []
/src/jsoncons/./include/jsoncons/source_adaptor.hpp ['fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_json_encoder', 'fuzz_csv'] []
/src/jsoncons/./fuzzers/fuzz_ubjson.cpp ['fuzz_ubjson'] []
/src/jsoncons/./include/jsoncons/json_options.hpp ['fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_json_encoder', 'fuzz_csv', 'fuzz_parse'] []
/src/jsoncons/./include/jsoncons/json_encoder.hpp ['fuzz_json_encoder'] []
/src/jsoncons/./fuzzers/fuzz_cbor_parser_max.cpp ['fuzz_cbor_parser_max'] []
/src/jsoncons/./include/jsoncons/utility/more_type_traits.hpp ['fuzz_bigint', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_cbor_encoder', 'fuzz_json_encoder', 'fuzz_cbor_parser_max', 'fuzz_bson', 'fuzz_csv', 'fuzz_ubjson', 'fuzz_msgpack', 'fuzz_parse', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_error.hpp [] []
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_error.hpp [] []
/src/jsoncons/./include/jsoncons/utility/unicode_traits.hpp ['fuzz_bson_encoder', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_ubjson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_cbor_encoder', 'fuzz_json_encoder', 'fuzz_cbor_parser_max', 'fuzz_bson_parser_max', 'fuzz_bson', 'fuzz_csv', 'fuzz_ubjson', 'fuzz_msgpack', 'fuzz_parse', 'fuzz_cbor'] []
/src/jsoncons/./fuzzers/fuzz_json_cursor.cpp ['fuzz_json_cursor'] []
/src/jsoncons/./include/jsoncons_ext/csv/csv_error.hpp [] []
/src/jsoncons/./include/jsoncons/config/jsoncons_config.hpp ['fuzz_bigint', 'fuzz_bson_encoder', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_ubjson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_cbor_encoder', 'fuzz_json_encoder', 'fuzz_cbor_parser_max', 'fuzz_bson_parser_max', 'fuzz_bson', 'fuzz_csv', 'fuzz_ubjson', 'fuzz_msgpack', 'fuzz_parse', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/json_filter.hpp ['fuzz_bson', 'fuzz_ubjson', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons_ext/csv/csv_options.hpp ['fuzz_csv'] []
/src/jsoncons/./include/jsoncons_ext/bson/bson_reader.hpp ['fuzz_bson_encoder', 'fuzz_bson_parser_max', 'fuzz_bson'] []
/src/jsoncons/./include/jsoncons_ext/bson/bson_decimal128.hpp ['fuzz_bson_encoder', 'fuzz_bson_parser_max', 'fuzz_bson'] []
/src/jsoncons/./include/jsoncons_ext/csv/csv_parser.hpp ['fuzz_csv'] []
/src/jsoncons/./include/jsoncons_ext/bson/bson_encoder.hpp ['fuzz_bson_encoder'] []
/src/jsoncons/./include/jsoncons/utility/heap_string.hpp ['fuzz_bson', 'fuzz_csv', 'fuzz_ubjson', 'fuzz_msgpack', 'fuzz_parse', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/detail/make_obj_using_allocator.hpp ['fuzz_json_cursor'] []
/src/jsoncons/./fuzzers/fuzz_cbor_encoder.cpp ['fuzz_cbor_encoder'] []
/src/jsoncons/./include/jsoncons/utility/read_number.hpp ['fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_ubjson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_json_encoder', 'fuzz_csv', 'fuzz_ubjson', 'fuzz_parse'] []
/src/jsoncons/./fuzzers/fuzz_bson.cpp ['fuzz_bson'] []
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_parser.hpp ['fuzz_cbor_encoder', 'fuzz_cbor_parser_max', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/conv_error.hpp [] []
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_detail.hpp ['fuzz_cbor_encoder', 'fuzz_cbor_parser_max', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/utility/conversion.hpp ['fuzz_json_cursor'] []
/src/jsoncons/./include/jsoncons_ext/bson/bson_error.hpp [] []
/src/jsoncons/./include/jsoncons/basic_json.hpp ['fuzz_bson', 'fuzz_csv', 'fuzz_ubjson', 'fuzz_msgpack', 'fuzz_parse', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/staj_event.hpp ['fuzz_json_cursor'] []
/src/jsoncons/./include/jsoncons_ext/bson/bson_oid.hpp ['fuzz_bson_encoder', 'fuzz_bson_parser_max', 'fuzz_bson'] []
/src/jsoncons/./include/jsoncons_ext/bson/bson_options.hpp ['fuzz_bson_encoder', 'fuzz_bson_parser_max', 'fuzz_bson'] []
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_encoder.hpp ['fuzz_ubjson_encoder'] []
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_options.hpp ['fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_msgpack'] []
/src/jsoncons/./include/jsoncons/detail/grisu3.hpp ['fuzz_json_cursor'] []
/src/jsoncons/./include/jsoncons/utility/bigint.hpp ['fuzz_bigint', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_cbor_encoder', 'fuzz_cbor_parser_max', 'fuzz_msgpack', 'fuzz_cbor'] []
/usr/local/bin/../include/c++/v1/stdlib.h [] []
/src/jsoncons/./fuzzers/fuzz_msgpack.cpp ['fuzz_msgpack'] []
/usr/local/bin/../include/c++/v1/string [] []
/src/jsoncons/./fuzzers/fuzz_ubjson_encoder.cpp ['fuzz_ubjson_encoder'] []
/src/jsoncons/./fuzzers/fuzz_bson_parser_max.cpp ['fuzz_bson_parser_max'] []
/src/jsoncons/./include/jsoncons/source.hpp ['fuzz_bson_encoder', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_ubjson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_cbor_encoder', 'fuzz_json_encoder', 'fuzz_cbor_parser_max', 'fuzz_bson_parser_max', 'fuzz_bson', 'fuzz_csv', 'fuzz_ubjson', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/staj_cursor.hpp ['fuzz_json_cursor'] []
/src/jsoncons/./include/jsoncons/utility/write_number.hpp ['fuzz_bson_encoder', 'fuzz_json_cursor', 'fuzz_cbor_encoder', 'fuzz_json_encoder', 'fuzz_cbor_parser_max', 'fuzz_bson_parser_max', 'fuzz_bson', 'fuzz_cbor'] []
/src/jsoncons/./fuzzers/fuzz_msgpack_encoder.cpp ['fuzz_msgpack_encoder'] []
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_encoder.hpp ['fuzz_cbor_encoder'] []
/src/jsoncons/./include/jsoncons/json_exception.hpp ['fuzz_json_cursor', 'fuzz_bson', 'fuzz_csv', 'fuzz_ubjson', 'fuzz_msgpack', 'fuzz_parse', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/json_object.hpp [] []
/src/jsoncons/./include/jsoncons/ser_util.hpp ['fuzz_bson_encoder', 'fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_ubjson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_cbor_encoder', 'fuzz_json_encoder', 'fuzz_cbor_parser_max', 'fuzz_bson_parser_max', 'fuzz_bson', 'fuzz_csv', 'fuzz_ubjson', 'fuzz_msgpack', 'fuzz_parse', 'fuzz_cbor'] []
/src/jsoncons/./fuzzers/fuzz_ubjson_parser_max.cpp ['fuzz_ubjson_parser_max'] []
/src/jsoncons/./include/jsoncons_ext/cbor/cbor_options.hpp ['fuzz_cbor_encoder', 'fuzz_cbor_parser_max', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons_ext/msgpack/msgpack_reader.hpp ['fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_msgpack'] []
/src/jsoncons/./include/jsoncons_ext/ubjson/ubjson_reader.hpp ['fuzz_ubjson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_ubjson'] []
/src/jsoncons/./include/jsoncons/allocator_holder.hpp ['fuzz_bson', 'fuzz_csv', 'fuzz_ubjson', 'fuzz_msgpack', 'fuzz_parse', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/detail/span.hpp ['fuzz_json_cursor', 'fuzz_json_parser_max', 'fuzz_cbor_encoder', 'fuzz_json_encoder', 'fuzz_cbor_parser_max', 'fuzz_csv', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons_ext/cbor/decode_cbor.hpp ['fuzz_cbor'] []
/src/jsoncons/./include/jsoncons_ext/bson/bson_parser.hpp ['fuzz_bson_encoder', 'fuzz_bson_parser_max', 'fuzz_bson'] []
/src/jsoncons/./include/jsoncons/utility/binary.hpp ['fuzz_bson_encoder', 'fuzz_ubjson_parser_max', 'fuzz_ubjson_encoder', 'fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_cbor_encoder', 'fuzz_cbor_parser_max', 'fuzz_bson_parser_max', 'fuzz_bson', 'fuzz_ubjson', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./fuzzers/fuzz_csv.cpp ['fuzz_csv'] []
/src/jsoncons/./include/jsoncons/item_event_visitor.hpp ['fuzz_msgpack_parser_max', 'fuzz_msgpack_encoder', 'fuzz_cbor_encoder', 'fuzz_cbor_parser_max', 'fuzz_msgpack', 'fuzz_cbor'] []
/src/jsoncons/./include/jsoncons/json_array.hpp [] []

Directories in report

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

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_bigint fuzzerLogFile-0-0N6p8Kf0Pt.data fuzzerLogFile-0-0N6p8Kf0Pt.data.yaml fuzz_bigint.covreport
fuzz_bson_encoder fuzzerLogFile-0-xwxSkchtJs.data fuzzerLogFile-0-xwxSkchtJs.data.yaml fuzz_bson_encoder.covreport
fuzz_json_cursor fuzzerLogFile-0-4iU5oZQso4.data fuzzerLogFile-0-4iU5oZQso4.data.yaml fuzz_json_cursor.covreport
fuzz_json_parser_max fuzzerLogFile-0-hLJtoFygDp.data fuzzerLogFile-0-hLJtoFygDp.data.yaml fuzz_json_parser_max.covreport
fuzz_ubjson_parser_max fuzzerLogFile-0-6SjzHtFSxm.data fuzzerLogFile-0-6SjzHtFSxm.data.yaml fuzz_ubjson_parser_max.covreport
fuzz_ubjson_encoder fuzzerLogFile-0-siqFiV8MVd.data fuzzerLogFile-0-siqFiV8MVd.data.yaml fuzz_ubjson_encoder.covreport
fuzz_msgpack_parser_max fuzzerLogFile-0-uFWuY11nQK.data fuzzerLogFile-0-uFWuY11nQK.data.yaml fuzz_msgpack_parser_max.covreport
fuzz_msgpack_encoder fuzzerLogFile-0-mAvIF6D2nJ.data fuzzerLogFile-0-mAvIF6D2nJ.data.yaml fuzz_msgpack_encoder.covreport
fuzz_cbor_encoder fuzzerLogFile-0-lyygKUCTZp.data fuzzerLogFile-0-lyygKUCTZp.data.yaml fuzz_cbor_encoder.covreport
fuzz_json_encoder fuzzerLogFile-0-cRYS8h94bX.data fuzzerLogFile-0-cRYS8h94bX.data.yaml fuzz_json_encoder.covreport
fuzz_cbor_parser_max fuzzerLogFile-0-cIeHev6tX3.data fuzzerLogFile-0-cIeHev6tX3.data.yaml fuzz_cbor_parser_max.covreport
fuzz_bson_parser_max fuzzerLogFile-0-dAqJJch9yy.data fuzzerLogFile-0-dAqJJch9yy.data.yaml fuzz_bson_parser_max.covreport
fuzz_bson fuzzerLogFile-0-mkPKxN9IaK.data fuzzerLogFile-0-mkPKxN9IaK.data.yaml fuzz_bson.covreport
fuzz_csv fuzzerLogFile-0-0XtxTowFEB.data fuzzerLogFile-0-0XtxTowFEB.data.yaml fuzz_csv.covreport
fuzz_ubjson fuzzerLogFile-0-0wbiVxUdOn.data fuzzerLogFile-0-0wbiVxUdOn.data.yaml fuzz_ubjson.covreport
fuzz_msgpack fuzzerLogFile-0-nxQlRZA47Q.data fuzzerLogFile-0-nxQlRZA47Q.data.yaml fuzz_msgpack.covreport
fuzz_parse fuzzerLogFile-0-sHUpwJfczG.data fuzzerLogFile-0-sHUpwJfczG.data.yaml fuzz_parse.covreport
fuzz_cbor fuzzerLogFile-0-ydoTzivXpi.data fuzzerLogFile-0-ydoTzivXpi.data.yaml fuzz_cbor.covreport