Coverage Report

Created: 2026-11-12 07:18

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/boost/libs/json/fuzzing/fuzz_parse.cpp
Line
Count
Source
1
//
2
// Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com)
3
// Copyright (c) 2020 Paul Dreik (github@pauldreik.se)
4
//
5
// Distributed under the Boost Software License, Version 1.0. (See accompanying
6
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7
//
8
// Official repository: https://github.com/boostorg/json
9
//
10
11
#include <boost/json/parse.hpp>
12
13
using namespace boost::json;
14
15
bool
16
fuzz_parse(string_view sv)
17
7.11k
{
18
7.11k
    boost::system::error_code ec;
19
7.11k
    value jv = parse( sv, ec );
20
7.11k
    if(ec)
21
4.55k
        return false;
22
2.55k
    return jv.is_number();
23
7.11k
}
24
25
extern "C"
26
int
27
LLVMFuzzerTestOneInput(
28
    const uint8_t* data, size_t size)
29
23.3k
{
30
23.3k
    try
31
23.3k
    {
32
23.3k
        string_view s{reinterpret_cast<
33
23.3k
            const char*>(data), size};
34
23.3k
        fuzz_parse(s);
35
23.3k
    }
36
23.3k
    catch(...)
37
23.3k
    {
38
0
    }
39
23.3k
    return 0;
40
23.3k
}