From 9a21017ec69e595ba53aa70dede4797ff03f27b2 Mon Sep 17 00:00:00 2001 From: bailu1992 Date: Tue, 12 Aug 2025 19:12:04 +0800 Subject: [PATCH] Modification of the fuzz test case Signed-off-by: bailu1992 --- .vscode/c_cpp_properties.json | 18 ------ .vscode/launch.json | 24 -------- .vscode/settings.json | 59 ------------------- .../subscribevibrator_fuzzer/BUILD.gn | 1 + .../unsubscribevibrator_fuzzer.cpp | 19 +++++- .../unsubscribevibrator_fuzzer/BUILD.gn | 1 + .../subscribevibrator_fuzzer.cpp | 19 +++++- 7 files changed, 38 insertions(+), 103 deletions(-) delete mode 100644 .vscode/c_cpp_properties.json delete mode 100644 .vscode/launch.json delete mode 100644 .vscode/settings.json diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json deleted file mode 100644 index 7712691..0000000 --- a/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "configurations": [ - { - "name": "windows-gcc-x64", - "includePath": [ - "${workspaceFolder}/**" - ], - "compilerPath": "D:/tools/mingw64/bin/gcc.exe", - "cStandard": "${default}", - "cppStandard": "${default}", - "intelliSenseMode": "windows-gcc-x64", - "compilerArgs": [ - "" - ] - } - ], - "version": 4 -} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index a671116..0000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "C/C++ Runner: Debug Session", - "type": "cppdbg", - "request": "launch", - "args": [], - "stopAtEntry": false, - "externalConsole": true, - "cwd": "d:/bailu/code/miscdevice0730/sensors_miscdevice/test/fuzztest/vibrator/modulatepackage_fuzzer", - "program": "d:/bailu/code/miscdevice0730/sensors_miscdevice/test/fuzztest/vibrator/modulatepackage_fuzzer/build/Debug/outDebug", - "MIMode": "gdb", - "miDebuggerPath": "gdb", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - } - ] - } - ] -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index bb879da..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "C_Cpp_Runner.cCompilerPath": "gcc", - "C_Cpp_Runner.cppCompilerPath": "g++", - "C_Cpp_Runner.debuggerPath": "gdb", - "C_Cpp_Runner.cStandard": "", - "C_Cpp_Runner.cppStandard": "", - "C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/VR_NR/Community/VC/Auxiliary/Build/vcvarsall.bat", - "C_Cpp_Runner.useMsvc": false, - "C_Cpp_Runner.warnings": [ - "-Wall", - "-Wextra", - "-Wpedantic", - "-Wshadow", - "-Wformat=2", - "-Wcast-align", - "-Wconversion", - "-Wsign-conversion", - "-Wnull-dereference" - ], - "C_Cpp_Runner.msvcWarnings": [ - "/W4", - "/permissive-", - "/w14242", - "/w14287", - "/w14296", - "/w14311", - "/w14826", - "/w44062", - "/w44242", - "/w14905", - "/w14906", - "/w14263", - "/w44265", - "/w14928" - ], - "C_Cpp_Runner.enableWarnings": true, - "C_Cpp_Runner.warningsAsError": false, - "C_Cpp_Runner.compilerArgs": [], - "C_Cpp_Runner.linkerArgs": [], - "C_Cpp_Runner.includePaths": [], - "C_Cpp_Runner.includeSearch": [ - "*", - "**/*" - ], - "C_Cpp_Runner.excludeSearch": [ - "**/build", - "**/build/**", - "**/.*", - "**/.*/**", - "**/.vscode", - "**/.vscode/**" - ], - "C_Cpp_Runner.useAddressSanitizer": false, - "C_Cpp_Runner.useUndefinedSanitizer": false, - "C_Cpp_Runner.useLeakSanitizer": false, - "C_Cpp_Runner.showCompilationTime": false, - "C_Cpp_Runner.useLinkTimeOptimization": false, - "C_Cpp_Runner.msvcSecureNoWarnings": false -} \ No newline at end of file diff --git a/test/fuzztest/vibrator/subscribevibrator_fuzzer/BUILD.gn b/test/fuzztest/vibrator/subscribevibrator_fuzzer/BUILD.gn index 938d643..0fcf0c7 100644 --- a/test/fuzztest/vibrator/subscribevibrator_fuzzer/BUILD.gn +++ b/test/fuzztest/vibrator/subscribevibrator_fuzzer/BUILD.gn @@ -37,6 +37,7 @@ ohos_fuzztest("UnSubscribeVibratorFuzzTest") { deps = [ "$SUBSYSTEM_DIR/frameworks/native/vibrator:vibrator_interface_native" ] + external_deps = [ "c_utils:utils" ] } group("fuzztest") { diff --git a/test/fuzztest/vibrator/subscribevibrator_fuzzer/unsubscribevibrator_fuzzer.cpp b/test/fuzztest/vibrator/subscribevibrator_fuzzer/unsubscribevibrator_fuzzer.cpp index c06be2c..d2830c7 100644 --- a/test/fuzztest/vibrator/subscribevibrator_fuzzer/unsubscribevibrator_fuzzer.cpp +++ b/test/fuzztest/vibrator/subscribevibrator_fuzzer/unsubscribevibrator_fuzzer.cpp @@ -20,9 +20,24 @@ #include #include +#include "securec.h" #include "vibrator_agent.h" namespace OHOS { +template +size_t GetObject(const uint8_t *data, size_t size, T &object) +{ + size_t objectSize = sizeof(object); + if (objectSize > size) { + return 0; + } + errno_t ret = memcpy_s(&object, objectSize, data, objectSize); + if (ret != EOK) { + return 0; + } + return objectSize; +} + void CallbackTest(VibratorStatusEvent *statusEvent) { return; @@ -30,9 +45,11 @@ void CallbackTest(VibratorStatusEvent *statusEvent) bool UnSubscribeVibratorFuzzTest(const uint8_t *data, size_t size) { + UserData userData; + GetObject(data, size, userData); VibratorUser user = { .callback = CallbackTest, - .userData = nullptr, + .userData = &userData, }; int32_t ret = OHOS::Sensors::UnSubscribeVibratorPlug(user); if (ret == 0) { diff --git a/test/fuzztest/vibrator/unsubscribevibrator_fuzzer/BUILD.gn b/test/fuzztest/vibrator/unsubscribevibrator_fuzzer/BUILD.gn index 374374b..5040e45 100644 --- a/test/fuzztest/vibrator/unsubscribevibrator_fuzzer/BUILD.gn +++ b/test/fuzztest/vibrator/unsubscribevibrator_fuzzer/BUILD.gn @@ -37,6 +37,7 @@ ohos_fuzztest("SubscribeVibratorFuzzTest") { deps = [ "$SUBSYSTEM_DIR/frameworks/native/vibrator:vibrator_interface_native" ] + external_deps = [ "c_utils:utils" ] } group("fuzztest") { diff --git a/test/fuzztest/vibrator/unsubscribevibrator_fuzzer/subscribevibrator_fuzzer.cpp b/test/fuzztest/vibrator/unsubscribevibrator_fuzzer/subscribevibrator_fuzzer.cpp index 44c92b3..724649e 100644 --- a/test/fuzztest/vibrator/unsubscribevibrator_fuzzer/subscribevibrator_fuzzer.cpp +++ b/test/fuzztest/vibrator/unsubscribevibrator_fuzzer/subscribevibrator_fuzzer.cpp @@ -20,9 +20,24 @@ #include #include +#include "securec.h" #include "vibrator_agent.h" namespace OHOS { +template +size_t GetObject(const uint8_t *data, size_t size, T &object) +{ + size_t objectSize = sizeof(object); + if (objectSize > size) { + return 0; + } + errno_t ret = memcpy_s(&object, objectSize, data, objectSize); + if (ret != EOK) { + return 0; + } + return objectSize; +} + void CallbackTest(VibratorStatusEvent *statusEvent) { return; @@ -30,9 +45,11 @@ void CallbackTest(VibratorStatusEvent *statusEvent) bool SubscribeVibratorFuzzTest(const uint8_t *data, size_t size) { + UserData userData; + GetObject(data, size, userData); VibratorUser user = { .callback = CallbackTest, - .userData = nullptr, + .userData = &userData, }; int32_t ret = OHOS::Sensors::SubscribeVibratorPlug(user); if (ret == 0) { -- Gitee