mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-04-23 08:52:32 +02:00
commit
c0708dbcba
@ -38,7 +38,7 @@ void UnpackPackFuzzerRegressionTest(const std::string& fpath) {
|
|||||||
std::vector<char> bytes(length);
|
std::vector<char> bytes(length);
|
||||||
in.read(bytes.data(), bytes.size());
|
in.read(bytes.data(), bytes.size());
|
||||||
BOOST_REQUIRE(in);
|
BOOST_REQUIRE(in);
|
||||||
BOOST_REQUIRE_EQUAL(0, FuzzerTestOneInput(reinterpret_cast<const uint8_t *>(bytes.data()), bytes.size()));
|
BOOST_REQUIRE_EQUAL(0, LLVMFuzzerTestOneInput(reinterpret_cast<const uint8_t *>(bytes.data()), bytes.size()));
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::unit_test::test_suite* init_unit_test_suite(int /*argc*/, char* /*argv*/[])
|
boost::unit_test::test_suite* init_unit_test_suite(int /*argc*/, char* /*argv*/[])
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
#include <msgpack.hpp>
|
#include <msgpack.hpp>
|
||||||
|
|
||||||
extern "C" int FuzzerTestOneInput(const uint8_t *data, size_t size) {
|
// The function's signature must NOT be changed since other projects rely on it:
|
||||||
|
// - libFuzzer
|
||||||
|
// - AFL++
|
||||||
|
// - Google's oss-fuzz (uses the previous two ones)
|
||||||
|
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
|
||||||
try {
|
try {
|
||||||
// NOTE(derwolfe): by default the limits are set at 2^32-1 length. I'm
|
// NOTE(derwolfe): by default the limits are set at 2^32-1 length. I'm
|
||||||
// setting these at far smaller values to avoid OOMs
|
// setting these at far smaller values to avoid OOMs
|
||||||
|
@ -5,5 +5,5 @@
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(works)
|
BOOST_AUTO_TEST_CASE(works)
|
||||||
{
|
{
|
||||||
BOOST_CHECK_EQUAL(0, FuzzerTestOneInput(MSGPACK_NULLPTR, 0));
|
BOOST_CHECK_EQUAL(0, LLVMFuzzerTestOneInput(MSGPACK_NULLPTR, 0));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user