blob: 632cb73829704fa78b537451c76ad532c315f1c2 [file] [log] [blame]
Hugo Benichi1661ca02019-10-16 15:36:13 +09001// Copyright 2019 The Chromium OS Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Garrick Evans3388a032020-03-24 11:25:55 +09005#include "patchpanel/multicast_forwarder.h"
6#include "patchpanel/net_util.h"
Hugo Benichi1661ca02019-10-16 15:36:13 +09007
Garrick Evans3388a032020-03-24 11:25:55 +09008namespace patchpanel {
Hugo Benichi1661ca02019-10-16 15:36:13 +09009
10constexpr const struct in_addr kLanIp = {.s_addr = Ipv4Addr(192, 168, 1, 1)};
11constexpr const struct in_addr kGuestIp = {.s_addr = Ipv4Addr(100, 115, 92, 2)};
12
13namespace {
14
15extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
16 // Turn off logging.
17 logging::SetMinLogLevel(logging::LOG_FATAL);
18
19 // Copy the input data so that TranslateMdnsIp can mutate it.
20 char* payload = new char[size];
21 memcpy(payload, data, size);
22
23 MulticastForwarder::TranslateMdnsIp(kLanIp, kGuestIp, payload, size);
24
25 delete[] payload;
26 return 0;
27}
28
29} // namespace
Garrick Evans3388a032020-03-24 11:25:55 +090030} // namespace patchpanel