diff --git a/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/BUILD.gn b/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/BUILD.gn index abe2abd4e52446cd46a0efb825ecc59d9b0a9788..252f6a1d3fabb06872d2d102b3e591c1411b262d 100644 --- a/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/BUILD.gn +++ b/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/BUILD.gn @@ -50,7 +50,10 @@ ohos_fuzztest("AccessmanagerFuzzTest") { "LOG_DOMAIN=0xD004100", ] - external_deps = [ "init:libbegetutil" ] + external_deps = [ + "c_utils:utils", + "init:libbegetutil", + ] } ############################################################################### diff --git a/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp b/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp index 1e7cf3f30e3799aff6cb19f7ff9a2324ffff426f..9cb74959713d8e88ef5eff28ee92f59113249175 100644 --- a/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp +++ b/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -39,7 +40,11 @@ void AccessManagerFuzzTest(const uint8_t* data, size_t size) } AccessManager::GetInstance()->Init(); - const DmDeviceInfo deviceInfo = *(reinterpret_cast(data)); + DmDeviceInfo deviceInfo; + int32_t ret = memcpy_s(deviceInfo.deviceId, DM_MAX_DEVICE_ID_LEN, (reinterpret_cast(data)), size); + if (ret != EOK) { + return; + } AccessManager::GetInstance()->OnDeviceReady(deviceInfo); usleep(SLEEP_TIME_US);