From c6934c7c21ec8a4cefd9c7c6e83412ddbaab6302 Mon Sep 17 00:00:00 2001 From: wuxiaodong02 Date: Thu, 17 Nov 2022 11:39:00 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E8=A7=A3=E5=86=B3ASAN=E7=89=88=E6=9C=ACfuz?= =?UTF-8?q?z=E6=A0=88=E6=BA=A2=E5=87=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wuxiaodong02 --- .../test/fuzztest/accessmanager_fuzzer/BUILD.gn | 5 ++++- .../fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/BUILD.gn b/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/BUILD.gn index abe2abd4..252f6a1d 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 1e7cf3f3..903669c6 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,8 @@ void AccessManagerFuzzTest(const uint8_t* data, size_t size) } AccessManager::GetInstance()->Init(); - const DmDeviceInfo deviceInfo = *(reinterpret_cast(data)); + DmDeviceInfo deviceInfo; + memcpy_s(deviceInfo.deviceId, DM_MAX_DEVICE_ID_LEN, (reinterpret_cast(data)), size); AccessManager::GetInstance()->OnDeviceReady(deviceInfo); usleep(SLEEP_TIME_US); -- Gitee From 699595a159ad363fac8a4dd2cd6ba7e23dfd57c9 Mon Sep 17 00:00:00 2001 From: wuxiaodong02 Date: Thu, 17 Nov 2022 19:24:22 +0800 Subject: [PATCH 2/4] =?UTF-8?q?memcpy=5Fs=E8=BF=94=E5=9B=9E=E5=80=BC?= =?UTF-8?q?=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wuxiaodong02 --- .../fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp b/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp index 903669c6..31efaf8f 100644 --- a/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp +++ b/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp @@ -41,7 +41,9 @@ void AccessManagerFuzzTest(const uint8_t* data, size_t size) AccessManager::GetInstance()->Init(); DmDeviceInfo deviceInfo; - memcpy_s(deviceInfo.deviceId, DM_MAX_DEVICE_ID_LEN, (reinterpret_cast(data)), size); + if (memcpy_s(deviceInfo.deviceId, DM_MAX_DEVICE_ID_LEN, (reinterpret_cast(data)), size)!=ENOKEY != EOK) { + return; + } AccessManager::GetInstance()->OnDeviceReady(deviceInfo); usleep(SLEEP_TIME_US); -- Gitee From f7f2bbf533052c59f2f0639963318650c3511de3 Mon Sep 17 00:00:00 2001 From: wuxiaodong02 Date: Thu, 17 Nov 2022 19:43:52 +0800 Subject: [PATCH 3/4] =?UTF-8?q?memcpys=5Fs=E8=BF=94=E5=9B=9E=E5=80=BC?= =?UTF-8?q?=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wuxiaodong02 --- .../test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp b/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp index 31efaf8f..d50b6508 100644 --- a/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp +++ b/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp @@ -41,7 +41,7 @@ void AccessManagerFuzzTest(const uint8_t* data, size_t size) AccessManager::GetInstance()->Init(); DmDeviceInfo deviceInfo; - if (memcpy_s(deviceInfo.deviceId, DM_MAX_DEVICE_ID_LEN, (reinterpret_cast(data)), size)!=ENOKEY != EOK) { + if (memcpy_s(deviceInfo.deviceId, DM_MAX_DEVICE_ID_LEN, (reinterpret_cast(data)), size)!=ENOKEY != EOK) { return; } AccessManager::GetInstance()->OnDeviceReady(deviceInfo); -- Gitee From 570f49c0cbd822105873dfe623205e6773ba1d6b Mon Sep 17 00:00:00 2001 From: wuxiaodong02 Date: Thu, 17 Nov 2022 19:53:30 +0800 Subject: [PATCH 4/4] =?UTF-8?q?memcpys=5Fs=E8=BF=94=E5=9B=9E=E5=80=BC?= =?UTF-8?q?=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wuxiaodong02 --- .../fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp b/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp index d50b6508..9cb74959 100644 --- a/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp +++ b/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp @@ -41,7 +41,8 @@ void AccessManagerFuzzTest(const uint8_t* data, size_t size) AccessManager::GetInstance()->Init(); DmDeviceInfo deviceInfo; - if (memcpy_s(deviceInfo.deviceId, DM_MAX_DEVICE_ID_LEN, (reinterpret_cast(data)), size)!=ENOKEY != EOK) { + int32_t ret = memcpy_s(deviceInfo.deviceId, DM_MAX_DEVICE_ID_LEN, (reinterpret_cast(data)), size); + if (ret != EOK) { return; } AccessManager::GetInstance()->OnDeviceReady(deviceInfo); -- Gitee