From d01a0a704b78145109a9140a56401d0895cad84b Mon Sep 17 00:00:00 2001 From: gaojiaqi Date: Fri, 14 Feb 2025 15:32:32 +0800 Subject: [PATCH] add fuzz Signed-off-by: gaojiaqi --- .../reminderdatamanager_fuzzer.cpp | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/test/fuzztest/reminderdatamanager_fuzzer/reminderdatamanager_fuzzer.cpp b/test/fuzztest/reminderdatamanager_fuzzer/reminderdatamanager_fuzzer.cpp index 0bd21f23f..db45ac0e4 100644 --- a/test/fuzztest/reminderdatamanager_fuzzer/reminderdatamanager_fuzzer.cpp +++ b/test/fuzztest/reminderdatamanager_fuzzer/reminderdatamanager_fuzzer.cpp @@ -123,6 +123,28 @@ namespace OHOS { return true; } + bool DoSomethingInteresting(FuzzedDataProvider* fdp) + { + auto manager = Notification::ReminderDataManager::GetInstance(); + manager->OnUnlockScreen(); + manager->OnLoadReminderEvent(); + manager->OnLoadReminderInFfrt(); + manager->OnDataShareInsertOrDelete(); + std::map> reminderMap; + manager->OnDataShareUpdate(reminderMap); + int32_t notificationId = fdp->ConsumeIntegral(); + int32_t uid = fdp->ConsumeIntegral(); + int64_t autoDeletedTime = fdp->ConsumeIntegral(); + manager->HandleAutoDeleteReminder(notificationId, uid, autoDeletedTime); + std::vector> reminders; + manager->UpdateReminderLanguageLocked(uid, reminders); + manager->IsSystemReady(); + manager->QueryActiveReminderCount(); + manager->StartLoadTimer(); + manager->InitShareReminders(); + return true; + } + bool Clear() { auto manager = Notification::ReminderDataManager::GetInstance(); @@ -139,7 +161,10 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { /* Run your code on data */ FuzzedDataProvider fdp(data, size); + constexpr int32_t TIME = 2; OHOS::DoSomethingInterestingWithManager(&fdp); OHOS::DoSomethingInterestingWithReminder(&fdp); + OHOS::DoSomethingInteresting(&fdp); + sleep(TIME); return 0; } -- Gitee