diff --git a/test/fuzztest/hdimanager/loaddevice_fuzzer/BUILD.gn b/test/fuzztest/hdimanager/loaddevice_fuzzer/BUILD.gn index 3315dec9..c06cba00 100644 --- a/test/fuzztest/hdimanager/loaddevice_fuzzer/BUILD.gn +++ b/test/fuzztest/hdimanager/loaddevice_fuzzer/BUILD.gn @@ -6,7 +6,7 @@ import("//build/config/features.gni") import("//build/test.gni") -module_output_path = "hdf/srvmgr" +module_output_path = "hdf/hdi" ohos_fuzztest("LoadDeviceFuzzTest") { module_out_path = module_output_path diff --git a/test/fuzztest/hdimanager/loaddevice_fuzzer/loaddevice_fuzzer.cpp b/test/fuzztest/hdimanager/loaddevice_fuzzer/loaddevice_fuzzer.cpp index e9882338..145920a5 100644 --- a/test/fuzztest/hdimanager/loaddevice_fuzzer/loaddevice_fuzzer.cpp +++ b/test/fuzztest/hdimanager/loaddevice_fuzzer/loaddevice_fuzzer.cpp @@ -11,17 +11,20 @@ #include #include #include "idevmgr_hdi.h" +#include "parcel.h" using namespace OHOS::HDI::DeviceManager::V1_0; namespace OHOS { -sptr g_devicemanager = IDeviceManager::Get(); +sptr g_deviceManager = IDeviceManager::Get(); bool LoadDeviceFuzzTest(const uint8_t *data, size_t size) { bool result = false; - std::string serviceName((const char *)data); - if (g_devicemanager != nullptr && g_devicemanager->LoadDevice(serviceName) == HDF_SUCCESS) { + Parcel parcel; + parcel.WriteBuffer(data, size); + auto servicename = parcel.ReadString(); + if (g_deviceManager != nullptr && g_deviceManager->LoadDevice(servicename) == HDF_SUCCESS) { result = true; } return result; diff --git a/test/fuzztest/hdimanager/registerservicestatuslistener_fuzzer/BUILD.gn b/test/fuzztest/hdimanager/registerservicestatuslistener_fuzzer/BUILD.gn index c684fff6..107f0e3a 100644 --- a/test/fuzztest/hdimanager/registerservicestatuslistener_fuzzer/BUILD.gn +++ b/test/fuzztest/hdimanager/registerservicestatuslistener_fuzzer/BUILD.gn @@ -6,7 +6,7 @@ import("//build/config/features.gni") import("//build/test.gni") -module_output_path = "hdf/srvmgr" +module_output_path = "hdf/hdi" ohos_fuzztest("RegisterServiceStatusListenerFuzzTest") { module_out_path = module_output_path diff --git a/test/fuzztest/hdimanager/registerservicestatuslistener_fuzzer/registerservicestatuslistener_fuzzer.cpp b/test/fuzztest/hdimanager/registerservicestatuslistener_fuzzer/registerservicestatuslistener_fuzzer.cpp index 010b0bfa..526a59ed 100644 --- a/test/fuzztest/hdimanager/registerservicestatuslistener_fuzzer/registerservicestatuslistener_fuzzer.cpp +++ b/test/fuzztest/hdimanager/registerservicestatuslistener_fuzzer/registerservicestatuslistener_fuzzer.cpp @@ -15,6 +15,7 @@ #include #include "iservmgr_hdi.h" #include "iservstat_listener_hdi.h" +#include "parcel.h" using namespace OHOS::HDI::ServiceManager::V1_0; @@ -32,8 +33,8 @@ void RegisterServStatListenerFuzzer::OnReceive(const ServiceStatus &status) } // namespace OHOS namespace OHOS { -sptr g_servmanager = IServiceManager::Get(); -sptr g_servstatlistener = new RegisterServStatListenerFuzzer(); +sptr g_servManager = IServiceManager::Get(); +sptr g_servStatListener = new RegisterServStatListenerFuzzer(); bool RegisterServiceStatusListenerFuzzTest(const uint8_t *data, size_t size) { @@ -42,9 +43,12 @@ bool RegisterServiceStatusListenerFuzzTest(const uint8_t *data, size_t size) return false; } - if (g_servmanager != nullptr && - g_servmanager->RegisterServiceStatusListener(g_servstatlistener, *((uint16_t *)data)) == HDF_SUCCESS) { - g_servmanager->UnregisterServiceStatusListener(g_servstatlistener); + Parcel parcel; + parcel.WriteBuffer(data, size); + auto deviceclass = parcel.ReadUint16(); + if (g_servManager != nullptr && + g_servManager->RegisterServiceStatusListener(g_servStatListener, deviceclass) == HDF_SUCCESS) { + g_servManager->UnregisterServiceStatusListener(g_servStatListener); result = true; } diff --git a/test/fuzztest/hdimanager/unloaddevice_fuzzer/unloaddevice_fuzzer.cpp b/test/fuzztest/hdimanager/unloaddevice_fuzzer/unloaddevice_fuzzer.cpp index 6ba14c3a..a9cb32f0 100644 --- a/test/fuzztest/hdimanager/unloaddevice_fuzzer/unloaddevice_fuzzer.cpp +++ b/test/fuzztest/hdimanager/unloaddevice_fuzzer/unloaddevice_fuzzer.cpp @@ -12,23 +12,26 @@ #include #include #include "idevmgr_hdi.h" +#include "parcel.h" using namespace OHOS::HDI::DeviceManager::V1_0; static constexpr const char *TEST_SERVICE_NAME = "sample_driver_service"; namespace OHOS { -sptr g_devicemanager = IDeviceManager::Get(); +sptr g_deviceManager = IDeviceManager::Get(); bool UnloadDeviceFuzzTest(const uint8_t *data, size_t size) { bool result = false; - std::string serviceName((const char *)data); - if (g_devicemanager != nullptr && g_devicemanager->LoadDevice(TEST_SERVICE_NAME) == HDF_SUCCESS) { + Parcel parcel; + parcel.WriteBuffer(data, size); + auto servicename = parcel.ReadString(); + if (g_deviceManager != nullptr && g_deviceManager->LoadDevice(TEST_SERVICE_NAME) == HDF_SUCCESS) { result = true; } - if (g_devicemanager != nullptr && g_devicemanager->UnloadDevice(serviceName) == HDF_SUCCESS) { + if (g_deviceManager != nullptr && g_deviceManager->UnloadDevice(servicename) == HDF_SUCCESS) { result = true; } return result; diff --git a/test/fuzztest/ioservice/ioservicebind_fuzzer/BUILD.gn b/test/fuzztest/ioservice/ioservicebind_fuzzer/BUILD.gn index 6b64aadb..218a4f14 100644 --- a/test/fuzztest/ioservice/ioservicebind_fuzzer/BUILD.gn +++ b/test/fuzztest/ioservice/ioservicebind_fuzzer/BUILD.gn @@ -14,8 +14,10 @@ ohos_fuzztest("IoserviceBindFuzzTest") { fuzz_config_file = "//drivers/framework/test/fuzztest/ioservice/ioservicebind_fuzzer" - include_dirs = - [ "//drivers/framework/test/fuzztest/ioservice/ioservicebind_fuzzer.h" ] + include_dirs = [ + "//drivers/framework/test/fuzztest/ioservice/ioservicebind_fuzzer.h", + "//utils/native/base/include", + ] cflags = [ "-g", "-O0", @@ -23,7 +25,10 @@ ohos_fuzztest("IoserviceBindFuzzTest") { "-fno-omit-frame-pointer", ] sources = [ "ioservicebind_fuzzer.cpp" ] - external_deps = [ "device_driver_framework:libhdf_utils" ] + external_deps = [ + "device_driver_framework:libhdf_utils", + "utils_base:utils", + ] } group("fuzztest") { diff --git a/test/fuzztest/ioservice/ioservicebind_fuzzer/ioservicebind_fuzzer.cpp b/test/fuzztest/ioservice/ioservicebind_fuzzer/ioservicebind_fuzzer.cpp index 7e989a00..7fd0febd 100644 --- a/test/fuzztest/ioservice/ioservicebind_fuzzer/ioservicebind_fuzzer.cpp +++ b/test/fuzztest/ioservice/ioservicebind_fuzzer/ioservicebind_fuzzer.cpp @@ -11,12 +11,16 @@ #include #include "hdf_base.h" #include "hdf_io_service.h" +#include "parcel.h" namespace OHOS { bool IoserviceBindFuzzTest(const uint8_t *data, size_t size) { bool result = false; - struct HdfIoService *testServ = HdfIoServiceBind((const char *)data); + Parcel parcel; + parcel.WriteBuffer(data, size); + auto servicename = parcel.ReadCString(); + struct HdfIoService *testServ = HdfIoServiceBind(servicename); if (testServ != nullptr) { result = true; } diff --git a/test/fuzztest/ioservice/ioservicegrouplisten_fuzzer/BUILD.gn b/test/fuzztest/ioservice/ioservicegrouplisten_fuzzer/BUILD.gn index ae3627da..9a6b48e3 100644 --- a/test/fuzztest/ioservice/ioservicegrouplisten_fuzzer/BUILD.gn +++ b/test/fuzztest/ioservice/ioservicegrouplisten_fuzzer/BUILD.gn @@ -16,6 +16,7 @@ ohos_fuzztest("IoserviceGroupListenFuzzTest") { include_dirs = [ "//drivers/framework/test/fuzztest/ioservice/ioservicegrouplisten_fuzzer.h", + "//utils/native/base/include", ] cflags = [ "-g", diff --git a/test/fuzztest/ioservice/ioservicegrouplisten_fuzzer/ioservicegrouplisten_fuzzer.cpp b/test/fuzztest/ioservice/ioservicegrouplisten_fuzzer/ioservicegrouplisten_fuzzer.cpp index 878709b7..299c9feb 100644 --- a/test/fuzztest/ioservice/ioservicegrouplisten_fuzzer/ioservicegrouplisten_fuzzer.cpp +++ b/test/fuzztest/ioservice/ioservicegrouplisten_fuzzer/ioservicegrouplisten_fuzzer.cpp @@ -14,6 +14,7 @@ #include "hdf_log.h" #include "hdf_io_service.h" #include "osal_time.h" +#include "parcel.h" namespace OHOS { struct Eventlistener { @@ -52,7 +53,10 @@ static int OnDevEventReceived( bool IoserviceGroupListenFuzzTest(const uint8_t *data, size_t size) { bool result = false; - struct HdfIoService *serv = HdfIoServiceBind((const char *)data); + Parcel parcel; + parcel.WriteBuffer(data, size); + auto servicename = parcel.ReadCString(); + struct HdfIoService *serv = HdfIoServiceBind(servicename); if (serv == nullptr) { return false; } diff --git a/test/fuzztest/ioservice/ioservicelisten_fuzzer/BUILD.gn b/test/fuzztest/ioservice/ioservicelisten_fuzzer/BUILD.gn index 23d49b3e..ceb45a48 100644 --- a/test/fuzztest/ioservice/ioservicelisten_fuzzer/BUILD.gn +++ b/test/fuzztest/ioservice/ioservicelisten_fuzzer/BUILD.gn @@ -14,8 +14,10 @@ ohos_fuzztest("IoserviceListenFuzzTest") { fuzz_config_file = "//drivers/framework/test/fuzztest/ioservice/ioservicelisten_fuzzer" - include_dirs = - [ "//drivers/framework/test/fuzztest/ioservice/ioservicelisten_fuzzer.h" ] + include_dirs = [ + "//drivers/framework/test/fuzztest/ioservice/ioservicelisten_fuzzer.h", + "//utils/native/base/include", + ] cflags = [ "-g", "-O0", diff --git a/test/fuzztest/ioservice/ioservicelisten_fuzzer/ioservicelisten_fuzzer.cpp b/test/fuzztest/ioservice/ioservicelisten_fuzzer/ioservicelisten_fuzzer.cpp index fffa6dc4..1d909732 100644 --- a/test/fuzztest/ioservice/ioservicelisten_fuzzer/ioservicelisten_fuzzer.cpp +++ b/test/fuzztest/ioservice/ioservicelisten_fuzzer/ioservicelisten_fuzzer.cpp @@ -14,6 +14,7 @@ #include "hdf_log.h" #include "hdf_io_service.h" #include "osal_time.h" +#include "parcel.h" namespace OHOS { struct Eventlistener { @@ -52,7 +53,10 @@ static int OnDevEventReceived( bool IoserviceListenFuzzTest(const uint8_t *data, size_t size) { bool result = false; - struct HdfIoService *serv = HdfIoServiceBind((const char *)data); + Parcel parcel; + parcel.WriteBuffer(data, size); + auto servicename = parcel.ReadCString(); + struct HdfIoService *serv = HdfIoServiceBind(servicename); if (serv == nullptr) { return false; } diff --git a/test/fuzztest/ioservice/ioserviceremove_fuzzer/BUILD.gn b/test/fuzztest/ioservice/ioserviceremove_fuzzer/BUILD.gn index 399b2ff2..ef437c85 100644 --- a/test/fuzztest/ioservice/ioserviceremove_fuzzer/BUILD.gn +++ b/test/fuzztest/ioservice/ioserviceremove_fuzzer/BUILD.gn @@ -14,8 +14,10 @@ ohos_fuzztest("IoserviceRemoveFuzzTest") { fuzz_config_file = "//drivers/framework/test/fuzztest/ioservice/ioserviceremove_fuzzer" - include_dirs = - [ "//drivers/framework/test/fuzztest/ioservice/ioserviceremove_fuzzer.h" ] + include_dirs = [ + "//drivers/framework/test/fuzztest/ioservice/ioserviceremove_fuzzer.h", + "//utils/native/base/include", + ] cflags = [ "-g", "-O0", diff --git a/test/fuzztest/ioservice/ioserviceremove_fuzzer/ioserviceremove_fuzzer.cpp b/test/fuzztest/ioservice/ioserviceremove_fuzzer/ioserviceremove_fuzzer.cpp index 3c898e95..1952562a 100644 --- a/test/fuzztest/ioservice/ioserviceremove_fuzzer/ioserviceremove_fuzzer.cpp +++ b/test/fuzztest/ioservice/ioserviceremove_fuzzer/ioserviceremove_fuzzer.cpp @@ -11,12 +11,16 @@ #include #include "hdf_base.h" #include "hdf_io_service.h" +#include "parcel.h" namespace OHOS { bool IoserviceGroupRemoveServiceFuzzTest(const uint8_t *data, size_t size) { bool result = false; - struct HdfIoService *serv = HdfIoServiceBind((const char *)data); + Parcel parcel; + parcel.WriteBuffer(data, size); + auto servicename = parcel.ReadCString(); + struct HdfIoService *serv = HdfIoServiceBind(servicename); if (serv == nullptr) { return false; }