diff options
author | Pawan Wagh <waghpawan@google.com> | 2023-03-08 08:41:18 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-03-08 08:41:18 +0000 |
commit | d2b3c6288b0772bc2698a2e8e3b221fb3f3e991c (patch) | |
tree | 49048a1086316c3473c3fe1c3319e0956ebe5084 | |
parent | be912ebf8866c866b5d8c69a4afa0183307b5554 (diff) | |
parent | 0a143327caf578d1b443e090185fe6e577ddd733 (diff) | |
download | netd-d2b3c6288b0772bc2698a2e8e3b221fb3f3e991c.tar.gz |
Merge "Fuzz MDnsService" am: bf65a5401a am: 5a1e156361 am: 4d3e959e9f am: 0a143327ca
Original change: https://android-review.googlesource.com/c/platform/system/netd/+/2441889
Change-Id: I24853def831e800a4c78664e96a2481fd171373f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | server/Android.bp | 79 | ||||
-rw-r--r-- | server/aidl-fuzzers/MDnsServiceFuzzer.cpp | 30 |
2 files changed, 109 insertions, 0 deletions
diff --git a/server/Android.bp b/server/Android.bp index 1f893749..a0df195b 100644 --- a/server/Android.bp +++ b/server/Android.bp @@ -248,3 +248,82 @@ cc_test { ], // tidy: false, // cuts test build time by almost 1 minute } + +cc_defaults { + name: "netd_aidl_fuzzer_defaults", + defaults: [ + "netd_aidl_interface_lateststable_cpp_static", + "netd_defaults", + ], + include_dirs: [ + "external/mdnsresponder/mDNSShared", + "system/netd/include", + ], + shared_libs: [ + "android.system.net.netd@1.0", + "android.system.net.netd@1.1", + "android.system.net.netd-V1-ndk", + "libdl", + "libhidlbase", + "libmdnssd", + "libnetd_updatable", + "libnetd_resolv", + "libnetdutils", + "libnetutils", + "liblog", + "libpcap", + "libprocessgroup", + "libselinux", + "libsysutils", + "libutils", + "mdns_aidl_interface-V1-cpp", + "netd_event_listener_interface-V1-cpp", + "oemnetd_aidl_interface-cpp", + ], + static_libs: [ + "libip_checksum", + "libnetd_server", + "libtcutils", + ], + srcs: [ + "DummyNetwork.cpp", + "EventReporter.cpp", + "FwmarkServer.cpp", + "LocalNetwork.cpp", + "MDnsEventReporter.cpp", + "MDnsSdListener.cpp", + "MDnsService.cpp", + "NetdCommand.cpp", + "NetdHwAidlService.cpp", + "NetdHwService.cpp", + "NetdNativeService.cpp", + "NetlinkHandler.cpp", + "Network.cpp", + "NetworkController.cpp", + "OemNetdListener.cpp", + "PhysicalNetwork.cpp", + "PppController.cpp", + "Process.cpp", + "UnreachableNetwork.cpp", + "VirtualNetwork.cpp", + "oem_iptables_hook.cpp", + "Controllers.cpp", + ], + fuzz_config: { + cc: [ + "cken@google.com", + "maze@google.com", + ], + } +} + +cc_fuzz { + name: "mdns_service_fuzzer", + defaults: [ + "service_fuzzer_defaults", + "netd_aidl_fuzzer_defaults", + ], + srcs: [ + "aidl-fuzzers/MDnsServiceFuzzer.cpp", + ], +} diff --git a/server/aidl-fuzzers/MDnsServiceFuzzer.cpp b/server/aidl-fuzzers/MDnsServiceFuzzer.cpp new file mode 100644 index 00000000..afee63da --- /dev/null +++ b/server/aidl-fuzzers/MDnsServiceFuzzer.cpp @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <fuzzbinder/libbinder_driver.h> +#include <fuzzer/FuzzedDataProvider.h> + +#include "MDnsService.h" + +using android::fuzzService; +using android::net::MDnsService; + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + auto mdnsService = new MDnsService(); + fuzzService(mdnsService, FuzzedDataProvider(data, size)); + + return 0; +} |