From 920ab41ce8d9f60f693d4e67b7e6318fc089a294 Mon Sep 17 00:00:00 2001 From: wanderer-dl122 Date: Tue, 19 Apr 2022 18:44:10 +0800 Subject: [PATCH] support 64bit Signed-off-by: wanderer-dl122 --- .../src/componentloader/component_loader.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/services/distributedhardwarefwkserviceimpl/src/componentloader/component_loader.cpp b/services/distributedhardwarefwkserviceimpl/src/componentloader/component_loader.cpp index 14e03e3e..3f03d718 100644 --- a/services/distributedhardwarefwkserviceimpl/src/componentloader/component_loader.cpp +++ b/services/distributedhardwarefwkserviceimpl/src/componentloader/component_loader.cpp @@ -42,6 +42,11 @@ const std::string DEFAULT_SOURCE_LOC = ""; const std::string DEFAULT_SINK_LOC = ""; const std::string DEFAULT_TYPE = "UNKNOWN"; const std::string DEFAULT_VERSION = "1.0"; +#ifdef __LP64__ +const std::string LIB_LOAD_PATH = "/system/lib64/"; +#else +const std::string LIB_LOAD_PATH = "/system/lib/"; +#endif } std::map g_mapDhTypeName = { { "UNKNOWN", DHType::UNKNOWN }, @@ -131,7 +136,8 @@ void *ComponentLoader::GetHandler(const std::string &soName) return nullptr; } char path[PATH_MAX + 1] = {0x00}; - if (soName.length() == 0 || soName.length() > PATH_MAX || realpath(soName.c_str(), path) == nullptr) { + if (soName.length() == 0 || (LIB_LOAD_PATH.length() + soName.length()) > PATH_MAX || + realpath((LIB_LOAD_PATH + soName).c_str(), path) == nullptr) { DHLOGE("File canonicalization failed"); return nullptr; } -- Gitee