From 0279b6a997e8c377df10ef982cb4ed9e2c7c1005 Mon Sep 17 00:00:00 2001 From: j30052480 Date: Mon, 29 Apr 2024 18:21:16 +0800 Subject: [PATCH 1/4] feat: optimize fuzz code coverage Signed-off-by: j30052480 --- framework/test/fuzztest/BUILD.gn | 4 +- .../devicemanagerstart_fuzzer/BUILD.gn | 89 +++++++++++++++++++ .../devicemanagerstart_fuzzer/corpus/init | 7 ++ .../devicemanagerstart_fuzzer.cpp | 70 +++++++++++++++ .../devicemanagerstart_fuzzer.h | 14 +++ .../devicemanagerstart_fuzzer/project.xml | 17 ++++ .../devmgrservicestub_fuzzer.cpp | 15 +++- .../hdfxcollie_fuzzer/BUILD.gn | 41 +++++++++ .../hdfxcollie_fuzzer/corpus/init | 7 ++ .../hdfxcollie_fuzzer/hdfxcollie_fuzzer.cpp | 33 +++++++ .../hdfxcollie_fuzzer/hdfxcollie_fuzzer.h | 14 +++ .../hdfxcollie_fuzzer/project.xml | 17 ++++ 12 files changed, 323 insertions(+), 5 deletions(-) create mode 100644 framework/test/fuzztest/devicemanagerstart_fuzzer/BUILD.gn create mode 100644 framework/test/fuzztest/devicemanagerstart_fuzzer/corpus/init create mode 100644 framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.cpp create mode 100644 framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.h create mode 100644 framework/test/fuzztest/devicemanagerstart_fuzzer/project.xml create mode 100644 framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/BUILD.gn create mode 100644 framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/corpus/init create mode 100644 framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/hdfxcollie_fuzzer.cpp create mode 100644 framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/hdfxcollie_fuzzer.h create mode 100644 framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/project.xml diff --git a/framework/test/fuzztest/BUILD.gn b/framework/test/fuzztest/BUILD.gn index d3a0c0c3f..b31a04c71 100644 --- a/framework/test/fuzztest/BUILD.gn +++ b/framework/test/fuzztest/BUILD.gn @@ -1,4 +1,4 @@ -# Copyright (c) 2022-2023 Huawei Device Co., Ltd. +# Copyright (c) 2022-2024 Huawei Device Co., Ltd. # # HDF is dual licensed: you can use it either under the terms of # the GPL, or the BSD license, at your option. @@ -7,6 +7,7 @@ group("hdf_framework_fuzztest") { testonly = true deps = [ + "devicemanagerstart_fuzzer:DeviceManagerStartFuzzTest", "devmgr_c_fuzzer/queryusabledeviceInfo_fuzzer:QueryUsableDeviceInfoFuzzTest", "devmgr_c_fuzzer/unloaddevice_fuzzer:UnloadDeviceFuzzTest", "devmgr_cpp_fuzzer/loaddevice_fuzzer:LoadDeviceFuzzTest", @@ -24,5 +25,6 @@ group("hdf_framework_fuzztest") { "servmgr_c_fuzzer/listservicebyinterfacedesc_fuzzer:ListServiceByInterfaceDescFuzzTest", "servmgr_cpp_fuzzer/servstatlistenerstub_fuzzer:ServStatListenerStubFuzzTest", "servmgr_cpp_fuzzer/unregisterservicestatuslistener_fuzzer:UnregisterServiceStatusListenerFuzzTest", + "uhdf2_utils_fuzzer/hdfxcollie_fuzzer:HdfXCollieFuzzTest", ] } diff --git a/framework/test/fuzztest/devicemanagerstart_fuzzer/BUILD.gn b/framework/test/fuzztest/devicemanagerstart_fuzzer/BUILD.gn new file mode 100644 index 000000000..21295ca85 --- /dev/null +++ b/framework/test/fuzztest/devicemanagerstart_fuzzer/BUILD.gn @@ -0,0 +1,89 @@ +# Copyright (c) 2024 Huawei Device Co., Ltd. +# +# HDF is dual licensed: you can use it either under the terms of +# the GPL, or the BSD license, at your option. +# See the LICENSE file in the root of this repository for complete details. + +import("//build/config/features.gni") +import("//build/ohos.gni") +import("//build/test.gni") + +module_output_path = "hdf_core/hdf_core" + +hdf_framework_path = "../../../" +hdf_interfaces_path = "../../../../interfaces" +hdf_manager_src_path = "../../../../adapter/uhdf2/manager/src" +hdf_uhdf_path = "../../../../adapter/uhdf2" + +ohos_fuzztest("DeviceManagerStartFuzzTest") { + module_out_path = module_output_path + fuzz_config_file = + "$hdf_framework_path/test/fuzztest/devicemanagerstart_fuzzer" + + defines = [ "__USER__" ] + include_dirs = [ + "$hdf_framework_path/core/manager/include", + "$hdf_framework_path/core/common/include/manager/", + "$hdf_framework_path/core/host/include", + "$hdf_framework_path/core/shared/include", + "$hdf_framework_path/utils/include", + "$hdf_uhdf_path/include/host", + "$hdf_uhdf_path/shared/include", + "$hdf_uhdf_path/manager/include", + "$hdf_uhdf_path/host/include", + "$hdf_uhdf_path/security/include", + "$hdf_uhdf_path/utils/include", + "$hdf_interfaces_path/inner_api/core", + "$hdf_interfaces_path/inner_api/host/shared", + "$hdf_interfaces_path/inner_api/host/uhdf", + ] + + sources = [ + "$hdf_framework_path/core/common/src/hdf_attribute.c", + "$hdf_framework_path/core/manager/src/devhost_service_clnt.c", + "$hdf_framework_path/core/manager/src/device_token_clnt.c", + "$hdf_framework_path/core/manager/src/devmgr_service.c", + "$hdf_framework_path/core/manager/src/devsvc_manager.c", + "$hdf_framework_path/core/manager/src/hdf_driver_installer.c", + "$hdf_framework_path/core/manager/src/hdf_host_info.c", + "$hdf_framework_path/core/shared/src/hdf_device_info.c", + "$hdf_framework_path/core/shared/src/hdf_object_manager.c", + "$hdf_framework_path/core/shared/src/hdf_service_record.c", + "$hdf_uhdf_path/shared/src/dev_attribute_serialize.c", + "$hdf_uhdf_path/shared/src/hcb_config_entry.c", + "$hdf_manager_src_path/devhost_service_proxy.c", + "$hdf_manager_src_path/device_token_proxy.c", + "$hdf_manager_src_path/devmgr_dump.c", + "$hdf_manager_src_path/devmgr_object_config.c", + "$hdf_manager_src_path/devmgr_query_device.c", + "$hdf_manager_src_path/devmgr_service_full.c", + "$hdf_manager_src_path/devmgr_service_stub.c", + "$hdf_manager_src_path/devmgr_uevent.c", + "$hdf_manager_src_path/devsvc_manager_stub.c", + "$hdf_manager_src_path/driver_installer_full.c", + "$hdf_manager_src_path/servstat_listener_holder.c", + "devicemanagerstart_fuzzer.cpp", + ] + deps = [ + "../../../../adapter/uhdf2/ipc:libhdf_ipc_adapter", + "../../../../adapter/uhdf2/utils:libhdf_utils", + ] + + external_deps = [ + "c_utils:utils", + "hilog:libhilog", + "init:libbegetutil", + ] + + if (build_selinux) { + external_deps += [ "selinux_adapter:libservice_checker" ] + cflags = [ "-DWITH_SELINUX" ] + } + + cflags_cc = [ "-gdwarf-2" ] +} + +group("fuzztest") { + testonly = true + deps = [ ":DeviceManagerStartFuzzTest" ] +} diff --git a/framework/test/fuzztest/devicemanagerstart_fuzzer/corpus/init b/framework/test/fuzztest/devicemanagerstart_fuzzer/corpus/init new file mode 100644 index 000000000..f707fb4e4 --- /dev/null +++ b/framework/test/fuzztest/devicemanagerstart_fuzzer/corpus/init @@ -0,0 +1,7 @@ +# Copyright (c) 2024 Huawei Device Co., Ltd. +# +# HDF is dual licensed: you can use it either under the terms of +# the GPL, or the BSD license, at your option. +# See the LICENSE file in the root of this repository for complete details. + +FUZZ \ No newline at end of file diff --git a/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.cpp b/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.cpp new file mode 100644 index 000000000..46d40a94f --- /dev/null +++ b/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.cpp @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * + * HDF is dual licensed: you can use it either under the terms of + * the GPL, or the BSD license, at your option. + * See the LICENSE file in the root of this repository for complete details. + */ + +#include "devicemanagerstart_fuzzer.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#include "devmgr_service.h" +#include "devmgr_service_full.h" +#include "devmgr_uevent.h" +#include "hdf_base.h" +#include "hdf_log.h" +#include "devmgr_dump.h" + +#ifdef __cplusplus +} // extern "C" +#endif + +#define HDF_LOG_TAG devicemanagerstart_fuzzer + +static int DeviceManagerStartServiceFuzzTest() +{ + HDF_LOGI("start hdf device manager fuzzer"); + int status = HDF_FAILURE; + struct IDevmgrService* instance = DevmgrServiceGetInstance(); + if (instance == NULL) { + HDF_LOGE("Getting DevmgrService instance failed"); + return status; + } + + if (instance->StartService != NULL) { + status = instance->StartService(instance); + HDF_LOGI("device manager fuzzer start service success"); + } + + (void)DevMgrUeventReceiveStart(); + DevMgrRegisterDumpFunc(); + if (status == HDF_SUCCESS) { + struct DevmgrServiceFull *fullService = (struct DevmgrServiceFull *)instance; + struct HdfMessageLooper *looper = &fullService->looper; + if ((looper != NULL) && (looper->Start != NULL)) { + HDF_LOGI("device manager fuzzer skip loop"); + } + } + + HDF_LOGI("end of hdf device manager fuzzer, status is %{public}d", status); + return status; +} + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + static int ret = HDF_FAILURE; + if (ret == HDF_SUCCESS) { + return ret; + } + + ret = DeviceManagerStartServiceFuzzTest(); + if (ret != HDF_SUCCESS) { + HDF_LOGE("DeviceManagerStartServiceFuzzTest failed, ret is %{public}d", ret); + return ret; + } + return HDF_SUCCESS; +} \ No newline at end of file diff --git a/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.h b/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.h new file mode 100644 index 000000000..22598fae9 --- /dev/null +++ b/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.h @@ -0,0 +1,14 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * + * HDF is dual licensed: you can use it either under the terms of + * the GPL, or the BSD license, at your option. + * See the LICENSE file in the root of this repository for complete details. + */ + +#ifndef DEVICE_MANAGER_START_FUZZER_H +#define DEVICE_MANAGER_START_FUZZER_H + +#define FUZZ_PROJECT_NAME "devicemanagerstart_fuzzer" + +#endif // DEVICE_MANAGER_START_FUZZER_H \ No newline at end of file diff --git a/framework/test/fuzztest/devicemanagerstart_fuzzer/project.xml b/framework/test/fuzztest/devicemanagerstart_fuzzer/project.xml new file mode 100644 index 000000000..d46b7fa02 --- /dev/null +++ b/framework/test/fuzztest/devicemanagerstart_fuzzer/project.xml @@ -0,0 +1,17 @@ + + + + + + 0 + + 10 + + 128 + + diff --git a/framework/test/fuzztest/devmgrservicestub_fuzzer/devmgrservicestub_fuzzer.cpp b/framework/test/fuzztest/devmgrservicestub_fuzzer/devmgrservicestub_fuzzer.cpp index 59da32c25..f58c8fc9f 100644 --- a/framework/test/fuzztest/devmgrservicestub_fuzzer/devmgrservicestub_fuzzer.cpp +++ b/framework/test/fuzztest/devmgrservicestub_fuzzer/devmgrservicestub_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 Huawei Device Co., Ltd. + * Copyright (c) 2023-2024 Huawei Device Co., Ltd. * * HDF is dual licensed: you can use it either under the terms of * the GPL, or the BSD license, at your option. @@ -38,14 +38,14 @@ static struct DevmgrServiceStub *GetDevmgrServiceStubInstance() instance = reinterpret_cast(DevmgrServiceStubCreate()); if (instance == nullptr) { - HDF_LOGI("%{public}s:%{public}d: failed to create DevmgrServiceStub object", __func__, __LINE__); + HDF_LOGE("%{public}s:%{public}d: failed to create DevmgrServiceStub object", __func__, __LINE__); return nullptr; } struct HdfRemoteService *remoteService = HdfRemoteServiceObtain( reinterpret_cast(instance), &g_devmgrDispatcher); if (remoteService == nullptr) { - HDF_LOGI("%{public}s:%{public}d: failed to bind dispatcher", __func__, __LINE__); + HDF_LOGE("%{public}s:%{public}d: failed to bind dispatcher", __func__, __LINE__); return nullptr; } if (!HdfRemoteServiceSetInterfaceDesc(remoteService, g_devmgrInterfaceToken)) { @@ -101,6 +101,11 @@ static bool AttachDeviceHostFuzzTest(int32_t code, const uint8_t *data, size_t s return true; } +static void DevmgrServiceStubReleaseFuzzTest() +{ + DevmgrServiceStubRelease(nullptr); +} + extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { int32_t codeSize = sizeof(g_devMgrCode) / sizeof(g_devMgrCode[0]); @@ -108,5 +113,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) int32_t code = g_devMgrCode[i]; AttachDeviceHostFuzzTest(code, data, size); } + + DevmgrServiceStubReleaseFuzzTest(); return HDF_SUCCESS; -} \ No newline at end of file +} diff --git a/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/BUILD.gn b/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/BUILD.gn new file mode 100644 index 000000000..d8fa719a8 --- /dev/null +++ b/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/BUILD.gn @@ -0,0 +1,41 @@ +# Copyright (c) 2024 Huawei Device Co., Ltd. +# +# HDF is dual licensed: you can use it either under the terms of +# the GPL, or the BSD license, at your option. +# See the LICENSE file in the root of this repository for complete details. + +import("//build/config/features.gni") +import("//build/ohos.gni") +import("//build/test.gni") + +module_output_path = "hdf_core/hdf_core/uhdf2_utils_fuzzer" + +hdf_framework_path = "../../../../../framework" +hdf_uhdf_path = "../../../../../adapter/uhdf2" + +ohos_fuzztest("HdfXCollieFuzzTest") { + module_out_path = module_output_path + + fuzz_config_file = + "$hdf_framework_path/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer" + + include_dirs = [ + "$hdf_uhdf_path/utils/include", + ] + + sources = [ "hdfxcollie_fuzzer.cpp" ] + + deps = [ + "$hdf_uhdf_path/pub_utils:libpub_utils", + ] + + external_deps = [ + "c_utils:utils", + "hilog:libhilog", + ] +} + +group("fuzztest") { + testonly = true + deps = [ ":HdfXCollieFuzzTest" ] +} diff --git a/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/corpus/init b/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/corpus/init new file mode 100644 index 000000000..f707fb4e4 --- /dev/null +++ b/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/corpus/init @@ -0,0 +1,7 @@ +# Copyright (c) 2024 Huawei Device Co., Ltd. +# +# HDF is dual licensed: you can use it either under the terms of +# the GPL, or the BSD license, at your option. +# See the LICENSE file in the root of this repository for complete details. + +FUZZ \ No newline at end of file diff --git a/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/hdfxcollie_fuzzer.cpp b/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/hdfxcollie_fuzzer.cpp new file mode 100644 index 000000000..ce18678d1 --- /dev/null +++ b/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/hdfxcollie_fuzzer.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * + * HDF is dual licensed: you can use it either under the terms of + * the GPL, or the BSD license, at your option. + * See the LICENSE file in the root of this repository for complete details. + */ + +#include "hdfxcollie_fuzzer.h" + +#include "hdf_xcollie.h" +#include "hdf_base.h" +#include "hdf_log.h" + +#define HDF_LOG_TAG hdfxcollie_fuzzer + +static int HdfXCollieFuzzTest() +{ + OHOS::HdfXCollie hdfXCollieObj("hdfxcollie_fuzzer", OHOS::HdfXCollie::DEFAULT_TIMEOUT_SECONDS, + nullptr, nullptr, OHOS::HdfXCollie::HDF_XCOLLIE_FLAG_RECOVERY); + return HDF_SUCCESS; +} + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + int ret = HDF_FAILURE; + ret = HdfXCollieFuzzTest(); + if (ret != HDF_SUCCESS) { + HDF_LOGE("HdfXCollieFuzzTest failed, ret is %{public}d", ret); + return ret; + } + return HDF_SUCCESS; +} diff --git a/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/hdfxcollie_fuzzer.h b/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/hdfxcollie_fuzzer.h new file mode 100644 index 000000000..2d92aa543 --- /dev/null +++ b/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/hdfxcollie_fuzzer.h @@ -0,0 +1,14 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * + * HDF is dual licensed: you can use it either under the terms of + * the GPL, or the BSD license, at your option. + * See the LICENSE file in the root of this repository for complete details. + */ + +#ifndef HDF_XCOLLIE_FUZZER_H +#define HDF_XCOLLIE_FUZZER_H + +#define FUZZ_PROJECT_NAME "hdfxcollie_fuzzer" + +#endif // HDF_XCOLLIE_FUZZER_H \ No newline at end of file diff --git a/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/project.xml b/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/project.xml new file mode 100644 index 000000000..c39057510 --- /dev/null +++ b/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/project.xml @@ -0,0 +1,17 @@ + + + + + + 0 + + 10 + + 128 + + -- Gitee From 2a4b20ad722d78fd850f7583cd72d73f9b32ee5b Mon Sep 17 00:00:00 2001 From: j30052480 Date: Mon, 29 Apr 2024 20:08:14 +0800 Subject: [PATCH 2/4] feat: optimize fuzz code coverage Signed-off-by: j30052480 --- framework/test/fuzztest/devicemanagerstart_fuzzer/BUILD.gn | 4 ++-- .../devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.cpp | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/framework/test/fuzztest/devicemanagerstart_fuzzer/BUILD.gn b/framework/test/fuzztest/devicemanagerstart_fuzzer/BUILD.gn index 21295ca85..90477f780 100644 --- a/framework/test/fuzztest/devicemanagerstart_fuzzer/BUILD.gn +++ b/framework/test/fuzztest/devicemanagerstart_fuzzer/BUILD.gn @@ -49,8 +49,6 @@ ohos_fuzztest("DeviceManagerStartFuzzTest") { "$hdf_framework_path/core/shared/src/hdf_device_info.c", "$hdf_framework_path/core/shared/src/hdf_object_manager.c", "$hdf_framework_path/core/shared/src/hdf_service_record.c", - "$hdf_uhdf_path/shared/src/dev_attribute_serialize.c", - "$hdf_uhdf_path/shared/src/hcb_config_entry.c", "$hdf_manager_src_path/devhost_service_proxy.c", "$hdf_manager_src_path/device_token_proxy.c", "$hdf_manager_src_path/devmgr_dump.c", @@ -62,6 +60,8 @@ ohos_fuzztest("DeviceManagerStartFuzzTest") { "$hdf_manager_src_path/devsvc_manager_stub.c", "$hdf_manager_src_path/driver_installer_full.c", "$hdf_manager_src_path/servstat_listener_holder.c", + "$hdf_uhdf_path/shared/src/dev_attribute_serialize.c", + "$hdf_uhdf_path/shared/src/hcb_config_entry.c", "devicemanagerstart_fuzzer.cpp", ] deps = [ diff --git a/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.cpp b/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.cpp index 46d40a94f..f561b9e76 100644 --- a/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.cpp +++ b/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.cpp @@ -43,8 +43,8 @@ static int DeviceManagerStartServiceFuzzTest() (void)DevMgrUeventReceiveStart(); DevMgrRegisterDumpFunc(); if (status == HDF_SUCCESS) { - struct DevmgrServiceFull *fullService = (struct DevmgrServiceFull *)instance; - struct HdfMessageLooper *looper = &fullService->looper; + struct DevmgrServiceFull *fullService = reinterpret_cast(instance); + struct HdfMessageLooper *looper = &fullService->looper; if ((looper != NULL) && (looper->Start != NULL)) { HDF_LOGI("device manager fuzzer skip loop"); } @@ -67,4 +67,4 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) return ret; } return HDF_SUCCESS; -} \ No newline at end of file +} -- Gitee From 826c251b8e1ee97d0e5a5932ee06f5b275be8eab Mon Sep 17 00:00:00 2001 From: j30052480 Date: Mon, 29 Apr 2024 20:24:31 +0800 Subject: [PATCH 3/4] feat: optimize fuzz code coverage Signed-off-by: j30052480 --- .../devicemanagerstart_fuzzer.cpp | 4 ++-- .../uhdf2_utils_fuzzer/hdfxcollie_fuzzer/BUILD.gn | 8 ++------ 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.cpp b/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.cpp index f561b9e76..39629e99f 100644 --- a/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.cpp +++ b/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.cpp @@ -44,7 +44,7 @@ static int DeviceManagerStartServiceFuzzTest() DevMgrRegisterDumpFunc(); if (status == HDF_SUCCESS) { struct DevmgrServiceFull *fullService = reinterpret_cast(instance); - struct HdfMessageLooper *looper = &fullService->looper; + struct HdfMessageLooper *looper = &fullService->looper; if ((looper != NULL) && (looper->Start != NULL)) { HDF_LOGI("device manager fuzzer skip loop"); } @@ -67,4 +67,4 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) return ret; } return HDF_SUCCESS; -} +} \ No newline at end of file diff --git a/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/BUILD.gn b/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/BUILD.gn index d8fa719a8..e967ac9fc 100644 --- a/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/BUILD.gn +++ b/framework/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer/BUILD.gn @@ -19,15 +19,11 @@ ohos_fuzztest("HdfXCollieFuzzTest") { fuzz_config_file = "$hdf_framework_path/test/fuzztest/uhdf2_utils_fuzzer/hdfxcollie_fuzzer" - include_dirs = [ - "$hdf_uhdf_path/utils/include", - ] + include_dirs = [ "$hdf_uhdf_path/utils/include" ] sources = [ "hdfxcollie_fuzzer.cpp" ] - deps = [ - "$hdf_uhdf_path/pub_utils:libpub_utils", - ] + deps = [ "$hdf_uhdf_path/pub_utils:libpub_utils" ] external_deps = [ "c_utils:utils", -- Gitee From 6e2d36a9eb0ebd3253b9ecd28e6a1242d3746a1c Mon Sep 17 00:00:00 2001 From: j30052480 Date: Tue, 30 Apr 2024 16:00:28 +0800 Subject: [PATCH 4/4] feat: optimize fuzz code coverage Signed-off-by: j30052480 --- .../devicemanagerstart_fuzzer.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.cpp b/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.cpp index 39629e99f..c635f6ff8 100644 --- a/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.cpp +++ b/framework/test/fuzztest/devicemanagerstart_fuzzer/devicemanagerstart_fuzzer.cpp @@ -8,16 +8,17 @@ #include "devicemanagerstart_fuzzer.h" +#include "hdf_base.h" +#include "hdf_log.h" + #ifdef __cplusplus extern "C" { #endif +#include "devmgr_dump.h" #include "devmgr_service.h" #include "devmgr_service_full.h" #include "devmgr_uevent.h" -#include "hdf_base.h" -#include "hdf_log.h" -#include "devmgr_dump.h" #ifdef __cplusplus } // extern "C" -- Gitee