From 3ffb409a7c18aa9318bea0b99d792a56cb1ee9c1 Mon Sep 17 00:00:00 2001 From: wuzhihuitmac Date: Mon, 5 Sep 2022 11:02:41 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=82=E6=95=B0=E8=8E=B7?= =?UTF-8?q?=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wuzhihuitmac Change-Id: I826fd7e2425421848d521503ab177ce8e01dd2c8 --- .../fuzztest/startvibrator_fuzzer/startvibrator_fuzzer.cpp | 7 ++++--- .../startvibratoronce_fuzzer/startvibratoronce_fuzzer.cpp | 4 +++- .../fuzztest/stopvibrator_fuzzer/stopvibrator_fuzzer.cpp | 7 ++++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/interfaces/native/vibrator/test/fuzztest/startvibrator_fuzzer/startvibrator_fuzzer.cpp b/interfaces/native/vibrator/test/fuzztest/startvibrator_fuzzer/startvibrator_fuzzer.cpp index a580fe1..675c000 100644 --- a/interfaces/native/vibrator/test/fuzztest/startvibrator_fuzzer/startvibrator_fuzzer.cpp +++ b/interfaces/native/vibrator/test/fuzztest/startvibrator_fuzzer/startvibrator_fuzzer.cpp @@ -18,15 +18,16 @@ #include #include #include +#include #include "vibrator_agent.h" namespace OHOS { bool StartVibratorFuzzTest(const uint8_t* data, size_t size) { - const char *argv = reinterpret_cast(data); - int32_t ret = OHOS::Sensors::StartVibrator(argv); - int32_t ret2 = std::strcmp(argv, "haptic.clock.timer"); + std::string argv(reinterpret_cast(data), size); + int32_t ret = OHOS::Sensors::StartVibrator(argv.c_str()); + int32_t ret2 = std::strcmp(argv.c_str(), "haptic.clock.timer"); if ((ret2 != 0 && ret == 0) || (ret2 == 0 && ret != 0)) { return false; } diff --git a/interfaces/native/vibrator/test/fuzztest/startvibratoronce_fuzzer/startvibratoronce_fuzzer.cpp b/interfaces/native/vibrator/test/fuzztest/startvibratoronce_fuzzer/startvibratoronce_fuzzer.cpp index e98b82c..d677012 100644 --- a/interfaces/native/vibrator/test/fuzztest/startvibratoronce_fuzzer/startvibratoronce_fuzzer.cpp +++ b/interfaces/native/vibrator/test/fuzztest/startvibratoronce_fuzzer/startvibratoronce_fuzzer.cpp @@ -17,6 +17,7 @@ #include #include +#include #include "vibrator_agent.h" @@ -27,7 +28,8 @@ constexpr int32_t MAX_VIBRATOR_TIME = 1800000; namespace OHOS { bool StartVibratorOnceFuzzTest(const uint8_t* data, size_t size) { - uintptr_t duration = reinterpret_cast(data); + std::string argv(reinterpret_cast(data), size); + uint32_t duration = static_cast(std::atoi(argv.c_str())); int32_t ret = OHOS::Sensors::StartVibratorOnce(duration); if ((duration > MAX_VIBRATOR_TIME && ret == 0) || (duration <= MAX_VIBRATOR_TIME && ret != 0)) { return false; diff --git a/interfaces/native/vibrator/test/fuzztest/stopvibrator_fuzzer/stopvibrator_fuzzer.cpp b/interfaces/native/vibrator/test/fuzztest/stopvibrator_fuzzer/stopvibrator_fuzzer.cpp index 7bec419..37a43a9 100644 --- a/interfaces/native/vibrator/test/fuzztest/stopvibrator_fuzzer/stopvibrator_fuzzer.cpp +++ b/interfaces/native/vibrator/test/fuzztest/stopvibrator_fuzzer/stopvibrator_fuzzer.cpp @@ -18,15 +18,16 @@ #include #include #include +#include #include "vibrator_agent.h" namespace OHOS { bool StopVibratorFuzzTest(const uint8_t* data, size_t size) { - const char *argv = reinterpret_cast(data); - int32_t ret = OHOS::Sensors::StopVibrator(argv); - int32_t ret2 = strcmp(argv, "time") != 0 && strcmp(argv, "preset"); + std::string argv(reinterpret_cast(data), size); + int32_t ret = OHOS::Sensors::StopVibrator(argv.c_str()); + int32_t ret2 = strcmp(argv.c_str(), "time") != 0 && strcmp(argv.c_str(), "preset"); if ((ret2 != 0 && ret == 0) || (ret2 == 0 && ret != 0)) { return false; } -- Gitee