diff --git a/core/frame/standard/client_manager/src/softbus_client_info_manager.cpp b/core/frame/standard/client_manager/src/softbus_client_info_manager.cpp index 987ecc6287c9014d26fd58a31543ae8d48e31945..66faa5ba8ed7032a44cf39e62f0c82dacb47beab 100644 --- a/core/frame/standard/client_manager/src/softbus_client_info_manager.cpp +++ b/core/frame/standard/client_manager/src/softbus_client_info_manager.cpp @@ -17,6 +17,7 @@ #include "softbus_errcode.h" #include "softbus_log.h" +#include "softbus_def.h" // for pkgname bounds check. namespace OHOS { SoftbusClientInfoManager &SoftbusClientInfoManager::GetInstance() @@ -28,8 +29,8 @@ SoftbusClientInfoManager &SoftbusClientInfoManager::GetInstance() int32_t SoftbusClientInfoManager::SoftbusAddService(const std::string &pkgName, const sptr &object, const sptr &abilityDeath) { - if (pkgName.empty() || object == nullptr || abilityDeath == nullptr) { - SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "package name, object or abilityDeath is nullptr\n"); + if (pkgName.size() >= PKG_NAME_SIZE_MAX || object == nullptr || abilityDeath == nullptr) { + SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "pkgName is too long, or object, abilityDeath is nullptr\n"); return SOFTBUS_ERR; } std::lock_guard autoLock(clientObjectMapLock_);