// Copyright 2019 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include #include #include #include #include "third_party/inspector_protocol/crdtp/cbor.h" // Entry point for LibFuzzer. extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { if (size > 64 * 1024) { return 0; } crdtp::span fuzz{data, size}; // We need to handle whatever the parser parses. So, we handle the parsed // stuff with another CBOR encoder, just because it's conveniently available. std::vector encoded; crdtp::Status status; std::unique_ptr encoder = crdtp::cbor::NewCBOREncoder(&encoded, &status); crdtp::cbor::ParseCBOR(fuzz, encoder.get()); return 0; }