From 6cc2c25f64cd6a435096792e6fab1c8694995da6 Mon Sep 17 00:00:00 2001 From: wangpggg Date: Fri, 18 Apr 2025 16:40:21 +0800 Subject: [PATCH] cover interface Signed-off-by: wangpeng --- test/fuzztest/backupsa_fuzzer/BUILD.gn | 1 + .../backupsa_fuzzer/backupsa_fuzzer.cpp | 19 ++++------------- .../backupservicestub_fuzzer.cpp | 21 +++++++++++++++++++ 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/test/fuzztest/backupsa_fuzzer/BUILD.gn b/test/fuzztest/backupsa_fuzzer/BUILD.gn index b0025c1ea..160de50ee 100644 --- a/test/fuzztest/backupsa_fuzzer/BUILD.gn +++ b/test/fuzztest/backupsa_fuzzer/BUILD.gn @@ -37,6 +37,7 @@ ohos_fuzztest("BackupSaFuzzTest") { deps = [ "${app_file_service_path}/services/backup_sa:backup_sa", "${app_file_service_path}/services/backup_sa:backup_sa_ipc_stub", + "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner", "${path_backup}/utils:backup_utils", ] diff --git a/test/fuzztest/backupsa_fuzzer/backupsa_fuzzer.cpp b/test/fuzztest/backupsa_fuzzer/backupsa_fuzzer.cpp index a811dcc08..2f4141076 100644 --- a/test/fuzztest/backupsa_fuzzer/backupsa_fuzzer.cpp +++ b/test/fuzztest/backupsa_fuzzer/backupsa_fuzzer.cpp @@ -15,25 +15,14 @@ #include "backupsa_fuzzer.h" -#include -#include -#include - -#include #include "message_parcel.h" -#include "service_stub.h" #include "service.h" -#include "securec.h" -#include "system_ability.h" - -#include "filemgmt_libhilog.h" - -using namespace OHOS::FileManagement::Backup; +#include "service_client.h" namespace OHOS { +using namespace OHOS::FileManagement::Backup; constexpr size_t U32_AT_SIZE = 4; -constexpr uint8_t MAX_CALL_TRANSACTION = 24; -constexpr int32_t SERVICE_ID = 5203; +constexpr uint8_t MAX_CALL_TRANSACTION = 40; uint32_t GetU32Data(const char* ptr) { @@ -47,7 +36,7 @@ bool BackupSaFuzzTest(const uint8_t *data, size_t size) return true; } - sptr service = sptr(new Service(SERVICE_ID)); + Service* service = static_cast(ServiceClient::GetInstance()->AsObject().GetRefPtr()); uint32_t code = GetU32Data(reinterpret_cast(data)); if (code == 0) { return true; diff --git a/test/fuzztest/backupservicestub_fuzzer/backupservicestub_fuzzer.cpp b/test/fuzztest/backupservicestub_fuzzer/backupservicestub_fuzzer.cpp index 6b2c9cd2b..94f3c897a 100644 --- a/test/fuzztest/backupservicestub_fuzzer/backupservicestub_fuzzer.cpp +++ b/test/fuzztest/backupservicestub_fuzzer/backupservicestub_fuzzer.cpp @@ -670,6 +670,26 @@ bool CmdUpdateSendRateFuzzTest(sptr service, const uint8_t *data, size_ } return true; } + +bool CmdGetBackupDataSizeFuzzTest(sptr service, const uint8_t *data, size_t size) +{ + if (data == nullptr || size < sizeof(int32_t) + sizeof(int32_t)) { + return true; + } + + MessageParcel msg; + MessageParcel reply; + MessageOption option; + uint32_t code = static_cast(IServiceIpcCode::COMMAND_GET_BACKUP_DATA_SIZE); + + try { + msg.WriteBuffer(data, size); + service->OnRemoteRequest(code, msg, reply, option); + } catch (OHOS::FileManagement::Backup::BError &err) { + // Only filter BError errors, Other results are not expected. + } + return true; +} } // namespace OHOS /* Fuzzer entry point */ @@ -708,6 +728,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) CmdGetBackupInfoFuzzTest(service, data, size); CmdUpdateTimerFuzzTest(service, data, size); CmdUpdateSendRateFuzzTest(service, data, size); + CmdGetBackupDataSizeFuzzTest(service, data, size); } catch (OHOS::FileManagement::Backup::BError &err) { // Only filter BError errors, Other results are not expected. } -- Gitee