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

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
0 17 3 :

['std::__1::basic_string , std::__1::allocator >::~basic_string()', 'std::__1::basic_string , std::__1::allocator >::basic_string (char const*)', 'Json::throwRuntimeError(std::__1::basic_string , std::__1::allocator > const&)']

0 17 Json::duplicateStringValue(charconst*,unsignedlong) call site: 00000 /src/jsoncpp/src/lib_json/json_value.cpp:122
0 0 None 0 194 Json::OurReader::readObject(Json::OurReader::Token&) call site: 00000 /src/jsoncpp/src/lib_json/json_reader.cpp:1476
0 0 None 0 31 Json::OurReader::decodeDouble(Json::OurReader::Token&,Json::Value&) call site: 00000 /src/jsoncpp/src/lib_json/json_reader.cpp:1657
0 0 1 :

['std::__1::numeric_limits ::infinity()']

0 31 Json::OurReader::decodeDouble(Json::OurReader::Token&,Json::Value&) call site: 00000 /src/jsoncpp/src/lib_json/json_reader.cpp:1659
0 0 None 0 30 Json::OurReader::readObject(Json::OurReader::Token&) call site: 00000 /src/jsoncpp/src/lib_json/json_reader.cpp:1474
0 0 None 0 17 Json::OurReader::readValue() call site: 00000 /src/jsoncpp/src/lib_json/json_reader.cpp:1123
0 0 None 0 12 Json::Value::operator[](unsignedint) call site: 00000 /src/jsoncpp/src/lib_json/json_value.cpp:933
0 0 None 0 9 Json::OurReader::decodeString(Json::OurReader::Token&,std::__1::basic_string ,std::__1::allocator >&) call site: 00000 /src/jsoncpp/src/lib_json/json_reader.cpp:1689
0 0 None 0 0 Json::OurReader::readToken(Json::OurReader::Token&) call site: 00000 /src/jsoncpp/src/lib_json/json_reader.cpp:1181
0 0 None 0 0 Json::OurReader::readToken(Json::OurReader::Token&) call site: 00000 /src/jsoncpp/src/lib_json/json_reader.cpp:1235
0 0 None 0 0 Json::OurReader::readToken(Json::OurReader::Token&) call site: 00000 /src/jsoncpp/src/lib_json/json_reader.cpp:1243
0 0 None 0 0 Json::Value::CZString::operator==(Json::Value::CZStringconst&)const call site: 00000 /src/jsoncpp/src/lib_json/json_value.cpp:313

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 Json::CharReaderBuilder::CharReaderBuilder() [function] [call site] 00001
2 Json::CharReader::Factory::Factory() [function] [call site] 00002
2 Json::Value::Value(Json::ValueType) [function] [call site] 00003
3 Json::Value::Comments::Comments() [function] [call site] 00004
3 Json::Value::initBasic(Json::ValueType, bool) [function] [call site] 00005
4 Json::Value::setType(Json::ValueType) [function] [call site] 00006
4 Json::Value::setIsAllocated(bool) [function] [call site] 00007
4 Json::Value::Comments::Comments() [function] [call site] 00008
4 Json::Value::Comments::operator=(Json::Value::Comments&&) [function] [call site] 00009
3 Json::Value::Comments::~Comments() [function] [call site] 00010
2 Json::CharReaderBuilder::setDefaults(Json::Value*) [function] [call site] 00011
3 Json::Value::Value(bool) [function] [call site] 00012
4 Json::Value::Comments::Comments() [function] [call site] 00013
4 Json::Value::initBasic(Json::ValueType, bool) [function] [call site] 00014
3 Json::Value::Value(bool) [function] [call site] 00015
3 Json::Value::Value(bool) [function] [call site] 00016
3 Json::Value::Value(bool) [function] [call site] 00017
3 Json::Value::Value(bool) [function] [call site] 00018
3 Json::Value::Value(bool) [function] [call site] 00019
3 Json::Value::Value(bool) [function] [call site] 00020
3 Json::Value::Value(int) [function] [call site] 00021
4 Json::Value::Comments::Comments() [function] [call site] 00022
4 Json::Value::initBasic(Json::ValueType, bool) [function] [call site] 00023
3 Json::Value::Value(bool) [function] [call site] 00024
3 Json::Value::Value(bool) [function] [call site] 00025
3 Json::Value::Value(bool) [function] [call site] 00026
3 Json::Value::Value(bool) [function] [call site] 00027
1 Json::Value::Value(unsigned int) [function] [call site] 00028
2 Json::Value::Comments::Comments() [function] [call site] 00029
2 Json::Value::initBasic(Json::ValueType, bool) [function] [call site] 00030
1 Json::Value::Value(unsigned int) [function] [call site] 00031
1 Json::Value::Value(unsigned int) [function] [call site] 00032
1 Json::Value::Value(unsigned int) [function] [call site] 00033
1 Json::Value::Value(unsigned int) [function] [call site] 00034
1 Json::Value::Value(unsigned int) [function] [call site] 00035
1 Json::Value::Value(unsigned int) [function] [call site] 00036
1 Json::Value::Value(unsigned int) [function] [call site] 00037
1 Json::Value::Value(unsigned int) [function] [call site] 00038
1 Json::Value::Value(unsigned int) [function] [call site] 00039
1 Json::Value::Value(unsigned int) [function] [call site] 00040
1 Json::CharReaderBuilder::newCharReader() const [function] [call site] 00041
2 Json::Value::operator[](char const*) const [function] [call site] 00042
3 strlen [call site] 00043
3 Json::Value::find(char const*, char const*) const [function] [call site] 00044
4 Json::Value::type() const [function] [call site] 00045
4 Json::Value::CZString::CZString(char const*, unsigned int, Json::Value::CZString::DuplicationPolicy) [function] [call site] 00046
4 Json::Value::CZString::~CZString() [function] [call site] 00047
5 Json::releaseStringValue(char*, unsigned int) [function] [call site] 00048
3 Json::Value::nullSingleton() [function] [call site] 00049
4 __cxa_guard_acquire [call site] 00050
4 Json::Value::Value(Json::ValueType) [function] [call site] 00051
2 Json::OurFeatures::all() [function] [call site] 00052
2 Json::Value::operator[](char const*) const [function] [call site] 00053
2 Json::Value::operator[](char const*) const [function] [call site] 00054
2 Json::Value::operator[](char const*) const [function] [call site] 00055
2 Json::Value::operator[](char const*) const [function] [call site] 00056
2 Json::Value::operator[](char const*) const [function] [call site] 00057
2 Json::Value::operator[](char const*) const [function] [call site] 00058
2 Json::Value::operator[](char const*) const [function] [call site] 00059
2 Json::Value::operator[](char const*) const [function] [call site] 00060
2 Json::Value::operator[](char const*) const [function] [call site] 00061
2 Json::Value::operator[](char const*) const [function] [call site] 00062
2 Json::Value::operator[](char const*) const [function] [call site] 00063
2 Json::OurCharReader::OurCharReader(bool, Json::OurFeatures const&) [function] [call site] 00064
3 Json::CharReader::CharReader() [function] [call site] 00065
3 Json::OurReader::OurReader(Json::OurFeatures const&) [function] [call site] 00066
1 Json::Value::Value(Json::ValueType) [function] [call site] 00067
1 __cxa_begin_catch [call site] 00068
1 __cxa_end_catch [call site] 00069
1 Json::Value::~Value() [function] [call site] 00070
2 Json::Value::releasePayload() [function] [call site] 00071
3 Json::Value::type() const [function] [call site] 00072
3 Json::Value::isAllocated() const [function] [call site] 00073
3 Json::releasePrefixedStringValue(char*) [function] [call site] 00074
2 Json::Value::Comments::~Comments() [function] [call site] 00075
1 Json::CharReaderBuilder::~CharReaderBuilder() [function] [call site] 00076
2 Json::Value::~Value() [function] [call site] 00077
2 Json::CharReader::Factory::~Factory() [function] [call site] 00078