diff --git a/services/implementation/src/device_manager_service_impl.cpp b/services/implementation/src/device_manager_service_impl.cpp index 23051eb11af75f28434c1a114bab08dc4f14aaba..e4485dfd585be99996131ec815562c03fc430410 100644 --- a/services/implementation/src/device_manager_service_impl.cpp +++ b/services/implementation/src/device_manager_service_impl.cpp @@ -95,6 +95,10 @@ static bool IsMessageOldVersion(const JsonObject &jsonObject, std::shared_ptr(); } dmVersion = AuthManagerBase::ConvertSrcVersion(dmVersion, edition); + if (dmVersion == "") { + LOGE("dmVersion is empty."); + return false; + } // Assign the physical session version and release the semaphore. session->version_ = dmVersion; @@ -382,6 +386,10 @@ void DeviceManagerServiceImpl::CleanSessionMapByLogicalSessionId(uint64_t logica void DeviceManagerServiceImpl::CleanAuthMgrByLogicalSessionId(uint64_t logicalSessionId) { + if (logicalSessionId == 0 && authMgr_ != nullptr) { + authMgr_->SetTransferReady(true); + authMgr_->ClearSoftbusSessionCallback(); + } uint64_t tokenId = 0; { std::lock_guard tokenIdLock(logicalSessionId2TokenIdMapMtx_); @@ -394,10 +402,6 @@ void DeviceManagerServiceImpl::CleanAuthMgrByLogicalSessionId(uint64_t logicalSe } CleanSessionMapByLogicalSessionId(logicalSessionId); - if (logicalSessionId == 0 && authMgr_ != nullptr) { - authMgr_->SetTransferReady(true); - authMgr_->ClearSoftbusSessionCallback(); - } hiChainAuthConnector_->UnRegisterHiChainAuthCallbackById(logicalSessionId); EraseAuthMgr(tokenId); return; @@ -1198,7 +1202,7 @@ int32_t DeviceManagerServiceImpl::TransferSinkOldAuthMgr(const JsonObject &jsonO int32_t DeviceManagerServiceImpl::TransferOldAuthMgr(int32_t msgType, const JsonObject &jsonObject, std::shared_ptr curSession) { - int ret = DM_OK; + int ret = ERR_DM_FAILED; if ((authMgr_ == nullptr || authMgr_->IsTransferReady()) && (msgType == MSG_TYPE_REQ_ACL_NEGOTIATE || msgType == MSG_TYPE_RESP_ACL_NEGOTIATE)) { if (IsMessageOldVersion(jsonObject, curSession)) { @@ -1213,7 +1217,6 @@ int32_t DeviceManagerServiceImpl::TransferOldAuthMgr(int32_t msgType, const Json return ret; } - void DeviceManagerServiceImpl::OnBytesReceived(int sessionId, const void *data, unsigned int dataLen) { if (sessionId < 0 || data == nullptr || dataLen <= 0 || dataLen > MAX_DATA_LEN) {