From 91fdfca619e9ffadc8918eefd77d8fde07a96ff2 Mon Sep 17 00:00:00 2001 From: gaozhichao Date: Wed, 10 Sep 2025 10:57:55 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=E6=8B=86=E5=88=86fuzz=E5=A4=A7?= =?UTF-8?q?=E5=87=BD=E6=95=B0=20fuzz=E5=A2=9E=E5=8A=A0=E7=A7=8D=E5=AD=90?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: gaozhichao --- .../timeproxytimer_fuzzer/corpus/init | 2 +- .../timesettimezone_fuzzer/corpus/init | 2 +- .../timesettimezone_fuzzer.cpp | 28 +++++++++++++++---- .../timetesttimer_fuzzer/corpus/init | 2 +- test/fuzztest/timeservice_fuzzer/corpus/init | 2 +- 5 files changed, 27 insertions(+), 9 deletions(-) diff --git a/test/fuzztest/timemanager_fuzzer/timeproxytimer_fuzzer/corpus/init b/test/fuzztest/timemanager_fuzzer/timeproxytimer_fuzzer/corpus/init index aabbd4cc..db987c7c 100644 --- a/test/fuzztest/timemanager_fuzzer/timeproxytimer_fuzzer/corpus/init +++ b/test/fuzztest/timemanager_fuzzer/timeproxytimer_fuzzer/corpus/init @@ -13,4 +13,4 @@ * limitations under the License. */ - FUZZ \ No newline at end of file +U4:vV5xX7?yY8@zZ9#aA0$bB1%cC2&dD3^eE4*fF5(gG6)hH7_iI8+jJ9-kK0|lL1~mM2\nN3;oO4:p\bB3;cC4:dD5fF7?gG8@h \ No newline at end of file diff --git a/test/fuzztest/timemanager_fuzzer/timesettimezone_fuzzer/corpus/init b/test/fuzztest/timemanager_fuzzer/timesettimezone_fuzzer/corpus/init index aabbd4cc..81755881 100644 --- a/test/fuzztest/timemanager_fuzzer/timesettimezone_fuzzer/corpus/init +++ b/test/fuzztest/timemanager_fuzzer/timesettimezone_fuzzer/corpus/init @@ -13,4 +13,4 @@ * limitations under the License. */ - FUZZ \ No newline at end of file +Q1&rS2^uV3*wX4(xY0)yZ1+zA2{cB3|dC4~eD5\fE6;gF7:hG8jI0?kJ1@lM2#nO3$pQ4%rS5&tU6^vW7*xY8(yZ9)zA0_+B1-|C2=}D3]~E4{\ \ No newline at end of file diff --git a/test/fuzztest/timemanager_fuzzer/timesettimezone_fuzzer/timesettimezone_fuzzer.cpp b/test/fuzztest/timemanager_fuzzer/timesettimezone_fuzzer/timesettimezone_fuzzer.cpp index b4f13106..cc4a20ca 100644 --- a/test/fuzztest/timemanager_fuzzer/timesettimezone_fuzzer/timesettimezone_fuzzer.cpp +++ b/test/fuzztest/timemanager_fuzzer/timesettimezone_fuzzer/timesettimezone_fuzzer.cpp @@ -58,7 +58,7 @@ bool FuzzTimeSetTime(const uint8_t *rawData, size_t size) return true; } -bool FuzzTimeGetTime(const uint8_t *rawData, size_t size) +bool FuzzTimeGetWallTime(const uint8_t *rawData, size_t size) { FuzzedDataProvider fdp(rawData, size); TimeServiceClient::GetInstance()->GetWallTimeMs(); @@ -67,23 +67,38 @@ bool FuzzTimeGetTime(const uint8_t *rawData, size_t size) TimeServiceClient::GetInstance()->GetWallTimeNs(); time = fdp.ConsumeIntegral(); TimeServiceClient::GetInstance()->GetWallTimeNs(time); + return true; +} +bool FuzzTimeGetBootTime(const uint8_t *rawData, size_t size) +{ + FuzzedDataProvider fdp(rawData, size); TimeServiceClient::GetInstance()->GetBootTimeMs(); - time = fdp.ConsumeIntegral(); + int64_t time = fdp.ConsumeIntegral(); TimeServiceClient::GetInstance()->GetBootTimeMs(time); TimeServiceClient::GetInstance()->GetBootTimeNs(); time = fdp.ConsumeIntegral(); TimeServiceClient::GetInstance()->GetBootTimeNs(time); + return true; +} +bool FuzzTimeGetMonotonicTime(const uint8_t *rawData, size_t size) +{ + FuzzedDataProvider fdp(rawData, size); TimeServiceClient::GetInstance()->GetMonotonicTimeMs(); - time = fdp.ConsumeIntegral(); + int64_t time = fdp.ConsumeIntegral(); TimeServiceClient::GetInstance()->GetMonotonicTimeMs(time); TimeServiceClient::GetInstance()->GetMonotonicTimeNs(); time = fdp.ConsumeIntegral(); TimeServiceClient::GetInstance()->GetMonotonicTimeNs(time); + return true; +} +bool FuzzTimeGetThreadTime(const uint8_t *rawData, size_t size) +{ + FuzzedDataProvider fdp(rawData, size); TimeServiceClient::GetInstance()->GetThreadTimeMs(); - time = fdp.ConsumeIntegral(); + int64_t time = fdp.ConsumeIntegral(); TimeServiceClient::GetInstance()->GetThreadTimeMs(time); TimeServiceClient::GetInstance()->GetThreadTimeNs(); time = fdp.ConsumeIntegral(); @@ -144,7 +159,10 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) OHOS::FuzzTimeSetTimezone(data, size); OHOS::FuzzTimeGetTimezone(data, size); OHOS::FuzzTimeSetTime(data, size); - OHOS::FuzzTimeGetTime(data, size); + OHOS::FuzzTimeGetWallTime(data, size); + OHOS::FuzzTimeGetBootTime(data, size); + OHOS::FuzzTimeGetMonotonicTime(data, size); + OHOS::FuzzTimeGetThreadTime(data, size); OHOS::FuzzTimeGetNtpTimeMs(data, size); OHOS::FuzzTimeGetRealTimeMs(data, size); OHOS::FuzzTimeTimeUtilsGetWallTimeMs(data, size); diff --git a/test/fuzztest/timemanager_fuzzer/timetesttimer_fuzzer/corpus/init b/test/fuzztest/timemanager_fuzzer/timetesttimer_fuzzer/corpus/init index aabbd4cc..772b2c65 100644 --- a/test/fuzztest/timemanager_fuzzer/timetesttimer_fuzzer/corpus/init +++ b/test/fuzztest/timemanager_fuzzer/timetesttimer_fuzzer/corpus/init @@ -13,4 +13,4 @@ * limitations under the License. */ - FUZZ \ No newline at end of file +-mM0|nN1~oO2\pP3;qQ4:rR5tT7?uU8@vV9#wW0$xX1%yY2&zZ3^aA4*bB5(cC6)dD7_eE8+fF9-gG0|hH1~iI2\jJ3;kK4:lL5