Merge "Adding fuzzer for VoldNativeService" am: e0a722a05f

Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2189528

Change-Id: I64436ad588d7d60b542089e3a6400c7545b0ab4a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Pawan Wagh 2023-02-14 17:00:19 +00:00 committed by Automerger Merge Worker
commit 7ea1ed3e05
2 changed files with 54 additions and 0 deletions

View file

@ -16,3 +16,27 @@ cc_test {
static_libs: ["libvold"],
shared_libs: ["libbinder"]
}
cc_fuzz {
name: "vold_native_service_fuzzer",
defaults: [
"vold_default_flags",
"vold_default_libs",
"keystore2_use_latest_aidl_ndk_shared",
"service_fuzzer_defaults",
],
static_libs: [
"libvold",
"android.security.maintenance-ndk",
"libkeymint_support",
],
header_libs: ["libvold_headers"],
srcs: [
"VoldFuzzer.cpp",
],
fuzz_config: {
cc: [
"maco@google.com",
],
}
}

30
tests/VoldFuzzer.cpp Normal file
View file

@ -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 "VoldNativeService.h"
using ::android::fuzzService;
using ::android::sp;
struct selabel_handle* sehandle;
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
auto voldService = sp<android::vold::VoldNativeService>::make();
fuzzService(voldService, FuzzedDataProvider(data, size));
return 0;
}