xref: /aosp_15_r20/external/cronet/net/dns/dns_query_parse_fuzzer.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2018 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include <stddef.h>
6 #include <stdint.h>
7 
8 #include <memory>
9 
10 #include "net/base/io_buffer.h"
11 #include "net/dns/dns_query.h"
12 
13 // Entry point for LibFuzzer.
LLVMFuzzerTestOneInput(const uint8_t * data,size_t size)14 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
15   auto packet = base::MakeRefCounted<net::IOBufferWithSize>(size);
16   memcpy(packet->data(), data, size);
17   auto out = std::make_unique<net::DnsQuery>(packet);
18   out->Parse(size);
19   return 0;
20 }
21