// Copyright 2018 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 <vector>

#include "base/test/fuzzed_data_provider.h"
#include "net/third_party/quic/core/crypto/transport_parameters.h"
#include "starboard/types.h"

// Entry point for LibFuzzer.
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
  base::FuzzedDataProvider data_provider(data, size);
  auto perspective = data_provider.ConsumeBool() ? quic::Perspective::IS_CLIENT
                                                 : quic::Perspective::IS_SERVER;
  quic::TransportParameters transport_parameters;
  std::vector<uint8_t> remaining_bytes = data_provider.ConsumeRemainingBytes();
  quic::ParseTransportParameters(remaining_bytes.data(), remaining_bytes.size(),
                                 perspective, &transport_parameters);
  return 0;
}
