Coverage Report

Created: 2026-05-19 06:24

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/duckdb/test/ossfuzz/parse_fuzz_test.cpp
Line
Count
Source
1
#include "duckdb.hpp"
2
#include "duckdb/common/string_util.hpp"
3
#include <string>
4
#include <unordered_set>
5
6
636
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
7
636
  std::string input(reinterpret_cast<const char *>(data), size);
8
636
  duckdb::DuckDB db(nullptr);
9
636
  duckdb::Connection con(db);
10
11
636
  std::unordered_set<std::string> internal_error_messages = {"Unoptimized Result differs from original result!",
12
636
                                                             "INTERNAL"};
13
636
  try {
14
636
    auto result = con.Query(input);
15
636
    if (result->HasError()) {
16
1.26k
      for (auto &internal_error : internal_error_messages) {
17
1.26k
        if (duckdb::StringUtil::Contains(result->GetError(), internal_error)) {
18
0
          return 1;
19
0
        }
20
1.26k
      }
21
633
    }
22
636
  } catch (std::exception &e) {
23
0
  }
24
636
  return 0;
25
636
}