From de9996d9417ea99207342a2144e8ba1aedf5af81 Mon Sep 17 00:00:00 2001 From: litiangang4 Date: Thu, 18 May 2023 14:02:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=8A=E8=AD=A6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: litiangang4 --- common/include/white_list_util.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/common/include/white_list_util.cpp b/common/include/white_list_util.cpp index f718615..8b81788 100644 --- a/common/include/white_list_util.cpp +++ b/common/include/white_list_util.cpp @@ -64,14 +64,16 @@ WhiteListUtil &WhiteListUtil::GetInstance(void) int32_t WhiteListUtil::Init() { char buf[MAX_PATH_LEN] = {0}; + char path[PATH_MAX + 1] = {0x00}; char *whiteListFilePath = GetOneCfgFile(WHITELIST_FILE_PATH, buf, MAX_PATH_LEN); - if (whiteListFilePath == nullptr) { - DHLOGE("WhiteListFilePath is null!"); - return ERR_DH_INPUT_WHILTELIST_FILE_PATH_IS_NULL; + if (strlen(whiteListFilePath) == 0 || strlen(whiteListFilePath) > PATH_MAX || + realpath(whiteListFilePath, path) == nullptr) { + DHLOGE("File connicailization failed."); + return ERR_DH_INPUT_WHILTELIST_INIT_FAIL; } - std::ifstream inFile(whiteListFilePath, std::ios::in | std::ios::binary); + std::ifstream inFile(path, std::ios::in | std::ios::binary); if (!inFile.is_open()) { - DHLOGE("WhiteListUtil Init error, file open fail path=%s", whiteListFilePath); + DHLOGE("WhiteListUtil Init error, file open fail path=%s", path); return ERR_DH_INPUT_WHILTELIST_INIT_FAIL; } -- Gitee