Coverage Report

Created: 2025-11-08 07:02

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/boost/libs/beast/test/fuzz/http_response.cpp
Line
Count
Source
1
//
2
// Copyright (c) 2024 Mikhail Khachayants
3
//
4
// Distributed under the Boost Software License, Version 1.0. (See accompanying
5
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
//
7
8
#include <boost/beast/http.hpp>
9
#include <boost/beast/_experimental/test/stream.hpp>
10
11
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
12
9.11k
{
13
9.11k
    using namespace boost::beast;
14
15
9.11k
    error_code ec;
16
9.11k
    flat_buffer buffer;
17
9.11k
    net::io_context ioc;
18
9.11k
    test::stream stream{ioc, {reinterpret_cast<const char*>(data), size}};
19
9.11k
    stream.close_remote();
20
21
9.11k
    http::chunk_extensions ce;
22
9.11k
    http::response_parser<http::dynamic_body> parser;
23
24
9.11k
    auto chunk_header_cb = [&ce](std::uint64_t, string_view extensions, error_code& ev)
25
81.0k
    {
26
81.0k
        ce.parse(extensions, ev);
27
81.0k
    };
28
29
9.11k
    parser.on_chunk_header(chunk_header_cb);
30
9.11k
    http::read(stream, buffer, parser, ec);
31
32
9.11k
    return 0;
33
9.11k
}