diff --git a/interfaces/innerkits/code_sign_utils/include/code_sign_utils.h b/interfaces/innerkits/code_sign_utils/include/code_sign_utils.h index 9c55e3ba0ae3c11da19a7ea4e944ea15a1856547..9029cc271c8012086e6f129d2f54161fff6da32c 100644 --- a/interfaces/innerkits/code_sign_utils/include/code_sign_utils.h +++ b/interfaces/innerkits/code_sign_utils/include/code_sign_utils.h @@ -16,6 +16,7 @@ #ifndef OHOS_SECURITY_CODE_SIGN_UTILS_H #define OHOS_SECURITY_CODE_SIGN_UTILS_H +#include #include #include #include @@ -116,6 +117,7 @@ private: static void ShowCodeSignInfo(const std::string &path, const struct code_sign_enable_arg &arg); static int32_t IsValidPathAndFileType(const std::string &path, std::string &realPath, FileType type); private: + std::mutex mutex_; EntryMap storedEntryMap_; }; } diff --git a/interfaces/innerkits/code_sign_utils/src/code_sign_utils.cpp b/interfaces/innerkits/code_sign_utils/src/code_sign_utils.cpp index 8885a1b202ab5596ec6c79b77445bad827babf7e..7198fda080aeb2d08f1a7a8f89dcfb4d24634128 100644 --- a/interfaces/innerkits/code_sign_utils/src/code_sign_utils.cpp +++ b/interfaces/innerkits/code_sign_utils/src/code_sign_utils.cpp @@ -232,6 +232,7 @@ void CodeSignUtils::ShowCodeSignInfo(const std::string &path, const struct code_ int32_t CodeSignUtils::EnforceCodeSignForAppWithOwnerId(const std::string &ownerId, const std::string &path, const EntryMap &entryPathMap, FileType type) { + std::lock_guard lock(mutex_); if (type == FILE_ENTRY_ADD || type == FILE_ENTRY_ONLY || type == FILE_ALL) { storedEntryMap_.insert(entryPathMap.begin(), entryPathMap.end()); if (type == FILE_ENTRY_ADD) {