Add fuzzing targets

This commit is contained in:
Mikhail Khachayants
2024-06-21 01:14:20 +03:30
committed by Mohammad Nejati
parent e7f49190ef
commit 1b874927c1
4 changed files with 104 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
//
// Copyright (c) 2024 Mikhail Khachayants
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
#include <boost/beast/http.hpp>
#include <boost/beast/_experimental/test/stream.hpp>
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
{
using namespace boost::beast;
error_code ec;
flat_buffer buffer;
net::io_context ioc;
test::stream stream{ioc, {reinterpret_cast<const char*>(data), size}};
stream.close_remote();
http::chunk_extensions ce;
http::response_parser<http::dynamic_body> parser;
auto chunk_header_cb = [&ce](std::uint64_t, string_view extensions, error_code& ev)
{
ce.parse(extensions, ev);
};
parser.on_chunk_header(chunk_header_cb);
http::read(stream, buffer, parser, ec);
return 0;
}