Adding fuzzer for gatekeeperd

Fuzzing AIDL service gatekeeperd with fuzzService API.

Test: m gatekeeperd_service_fuzzer && adb sync data && adb shell /data/fuzz/x86_64/gatekeeperd_service_fuzzer/gatekeeperd_service_fuzzer
Bug: 232439428
Change-Id: I20a451f7981cab312e4c67b11c715198284d0051
This commit is contained in:
Pawan Wagh 2023-04-21 22:39:38 +00:00
parent c5c0c3024c
commit c4bd2afc42
2 changed files with 45 additions and 0 deletions

View file

@ -98,3 +98,20 @@ cc_library_shared {
"libbinder",
],
}
cc_fuzz {
name: "gatekeeperd_service_fuzzer",
defaults: [
"gatekeeperd_defaults",
"service_fuzzer_defaults"
],
srcs: [
"fuzzer/GateKeeperServiceFuzzer.cpp",
],
fuzz_config: {
cc: [
"subrahmanyaman@google.com",
"swillden@google.com",
],
},
}

View file

@ -0,0 +1,28 @@
/*
* 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 "gatekeeperd.h"
using android::fuzzService;
using android::GateKeeperProxy;
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
auto gatekeeperService = new GateKeeperProxy();
fuzzService(gatekeeperService, FuzzedDataProvider(data, size));
return 0;
}