From 0fa9da9b4f4d3808ae93cef9b1979f3722b9ae2b Mon Sep 17 00:00:00 2001 From: liduo Date: Tue, 21 May 2024 11:57:11 +0800 Subject: [PATCH] enable cfi Signed-off-by: liduo Change-Id: I7237cb8e7ef0535bc18494e09d22a0ea8db99c34 --- frameworks/resmgr/BUILD.gn | 27 +++++++++++++++++++++++ frameworks/resmgr/src/res_config_impl.cpp | 4 ++-- interfaces/js/innerkits/core/BUILD.gn | 9 ++++++++ interfaces/js/kits/BUILD.gn | 18 +++++++++++++++ 4 files changed, 56 insertions(+), 2 deletions(-) diff --git a/frameworks/resmgr/BUILD.gn b/frameworks/resmgr/BUILD.gn index d7f9650..52739d2 100644 --- a/frameworks/resmgr/BUILD.gn +++ b/frameworks/resmgr/BUILD.gn @@ -109,6 +109,15 @@ ohos_shared_library("global_resmgr") { public_external_deps = [ "icu:shared_icuuc" ] } + stack_protector_ret = true + sanitize = { + boundary_sanitize = true + cfi = true + cfi_cross_dso = true + debug = false + integer_overflow = true + ubsan = true + } subsystem_name = "global" innerapi_tags = [ "platformsdk_indirect", @@ -255,6 +264,15 @@ ohos_shared_library("librawfile") { external_deps += [ "icu:shared_icuuc" ] } + stack_protector_ret = true + sanitize = { + boundary_sanitize = true + cfi = true + cfi_cross_dso = true + debug = false + integer_overflow = true + ubsan = true + } innerapi_tags = [ "platformsdk" ] subsystem_name = "global" part_name = "resource_management" @@ -290,6 +308,15 @@ ohos_shared_library("ohresmgr") { "napi:ace_napi", ] + stack_protector_ret = true + sanitize = { + boundary_sanitize = true + cfi = true + cfi_cross_dso = true + debug = false + integer_overflow = true + ubsan = true + } innerapi_tags = [ "ndk" ] subsystem_name = "global" part_name = "resource_management" diff --git a/frameworks/resmgr/src/res_config_impl.cpp b/frameworks/resmgr/src/res_config_impl.cpp index 9f7034a..2f0bb7e 100644 --- a/frameworks/resmgr/src/res_config_impl.cpp +++ b/frameworks/resmgr/src/res_config_impl.cpp @@ -594,8 +594,8 @@ int ResConfigImpl::IsMccMncMoreSuitable(uint32_t otherMcc, uint32_t otherMnc, ui * return 0 * */ -int ResConfigImpl::IsDensityMoreSuitable(ScreenDensity otherDensity, ScreenDensity requestDensity, - uint32_t density) const +__attribute__((no_sanitize("integer"))) int ResConfigImpl::IsDensityMoreSuitable(ScreenDensity otherDensity, + ScreenDensity requestDensity, uint32_t density) const { int ret = 0; int thisDistance; diff --git a/interfaces/js/innerkits/core/BUILD.gn b/interfaces/js/innerkits/core/BUILD.gn index 602481b..bd9ec6b 100644 --- a/interfaces/js/innerkits/core/BUILD.gn +++ b/interfaces/js/innerkits/core/BUILD.gn @@ -54,6 +54,15 @@ ohos_shared_library("resmgr_napi_core") { defines += [ "SUPPORT_GRAPHICS" ] } + stack_protector_ret = true + sanitize = { + boundary_sanitize = true + cfi = true + cfi_cross_dso = true + debug = false + integer_overflow = true + ubsan = true + } subsystem_name = "global" innerapi_tags = [ "platformsdk" ] part_name = "resource_management" diff --git a/interfaces/js/kits/BUILD.gn b/interfaces/js/kits/BUILD.gn index 0bb17f5..797396f 100644 --- a/interfaces/js/kits/BUILD.gn +++ b/interfaces/js/kits/BUILD.gn @@ -40,6 +40,15 @@ ohos_shared_library("resourcemanager") { "node:node_header_notice", ] + stack_protector_ret = true + sanitize = { + boundary_sanitize = true + cfi = true + cfi_cross_dso = true + debug = false + integer_overflow = true + ubsan = true + } relative_install_dir = "module" subsystem_name = "global" part_name = "resource_management" @@ -57,6 +66,15 @@ ohos_shared_library("sendableresourcemanager") { "napi:ace_napi", ] + stack_protector_ret = true + sanitize = { + boundary_sanitize = true + cfi = true + cfi_cross_dso = true + debug = false + integer_overflow = true + ubsan = true + } relative_install_dir = "module" subsystem_name = "global" part_name = "resource_management" -- Gitee