Merge "Adding fuzzers for StoragedService and StoragedPrivateService" am: 057cbf6379
am: ba204e6274
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2559850 Change-Id: I453e7682a71bed8cfdd748fed695ac17da7d29be Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
commit
7b7939fc14
5 changed files with 96 additions and 0 deletions
|
@ -136,3 +136,27 @@ filegroup {
|
|||
],
|
||||
path: "binder",
|
||||
}
|
||||
|
||||
cc_fuzz {
|
||||
name: "storaged_service_fuzzer",
|
||||
defaults: [
|
||||
"storaged_defaults",
|
||||
"service_fuzzer_defaults",
|
||||
],
|
||||
srcs: ["tests/fuzzers/storaged_service_fuzzer.cpp"],
|
||||
static_libs: [
|
||||
"libstoraged",
|
||||
],
|
||||
}
|
||||
|
||||
cc_fuzz {
|
||||
name: "storaged_private_service_fuzzer",
|
||||
defaults: [
|
||||
"storaged_defaults",
|
||||
"service_fuzzer_defaults",
|
||||
],
|
||||
srcs: ["tests/fuzzers/storaged_private_service_fuzzer.cpp"],
|
||||
static_libs: [
|
||||
"libstoraged",
|
||||
],
|
||||
}
|
|
@ -28,6 +28,7 @@ using namespace std;
|
|||
using namespace android::os;
|
||||
using namespace android::os::storaged;
|
||||
|
||||
namespace android {
|
||||
class StoragedService : public BinderService<StoragedService>, public BnStoraged {
|
||||
private:
|
||||
void dumpUidRecordsDebug(int fd, const vector<struct uid_record>& entries);
|
||||
|
@ -53,4 +54,5 @@ public:
|
|||
|
||||
sp<IStoragedPrivate> get_storaged_pri_service();
|
||||
|
||||
} // namespace android
|
||||
#endif /* _STORAGED_SERVICE_H_ */
|
|
@ -38,6 +38,7 @@ using namespace android::base;
|
|||
|
||||
extern sp<storaged_t> storaged_sp;
|
||||
|
||||
namespace android {
|
||||
status_t StoragedService::start() {
|
||||
return BinderService<StoragedService>::publish();
|
||||
}
|
||||
|
@ -218,3 +219,4 @@ sp<IStoragedPrivate> get_storaged_pri_service() {
|
|||
|
||||
return interface_cast<IStoragedPrivate>(binder);
|
||||
}
|
||||
} // namespace android
|
34
storaged/tests/fuzzers/storaged_private_service_fuzzer.cpp
Normal file
34
storaged/tests/fuzzers/storaged_private_service_fuzzer.cpp
Normal file
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* 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 <storaged.h>
|
||||
#include <storaged_service.h>
|
||||
|
||||
sp<storaged_t> storaged_sp;
|
||||
|
||||
extern "C" int LLVMFuzzerInitialize(int /**argc*/, char /****argv*/) {
|
||||
storaged_sp = new storaged_t();
|
||||
storaged_sp->init();
|
||||
return 0;
|
||||
}
|
||||
|
||||
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
|
||||
auto storagedPrivateService = new StoragedPrivateService();
|
||||
fuzzService(storagedPrivateService, FuzzedDataProvider(data, size));
|
||||
return 0;
|
||||
}
|
34
storaged/tests/fuzzers/storaged_service_fuzzer.cpp
Normal file
34
storaged/tests/fuzzers/storaged_service_fuzzer.cpp
Normal file
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* 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 <storaged.h>
|
||||
#include <storaged_service.h>
|
||||
|
||||
sp<storaged_t> storaged_sp;
|
||||
|
||||
extern "C" int LLVMFuzzerInitialize(int /**argc*/, char /****argv*/) {
|
||||
storaged_sp = new storaged_t();
|
||||
storaged_sp->init();
|
||||
return 0;
|
||||
}
|
||||
|
||||
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
|
||||
auto storagedService = new StoragedService();
|
||||
fuzzService(storagedService, FuzzedDataProvider(data, size));
|
||||
return 0;
|
||||
}
|
Loading…
Reference in a new issue