From f462fae13c0700f9839d0f6f939b54e75289eb71 Mon Sep 17 00:00:00 2001 From: q30043944 Date: Sat, 8 Mar 2025 14:39:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=83=85=E5=86=B5=E4=B8=8Bux?= =?UTF-8?q?=E6=9C=AA=E8=A2=AB=E5=85=B3=E9=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: q30043944 --- .../src/authentication/dm_auth_manager.cpp | 10 ++++++++-- .../service/src/device_manager_service_listener.cpp | 2 ++ .../service/src/relationshipsyncmgr/dm_comm_tool.cpp | 2 ++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/services/implementation/src/authentication/dm_auth_manager.cpp b/services/implementation/src/authentication/dm_auth_manager.cpp index 7df4cc043..fc8fc3d5f 100644 --- a/services/implementation/src/authentication/dm_auth_manager.cpp +++ b/services/implementation/src/authentication/dm_auth_manager.cpp @@ -618,7 +618,10 @@ void DmAuthManager::OnSessionOpened(int32_t sessionId, int32_t sessionSide, int3 void DmAuthManager::OnSessionClosed(const int32_t sessionId) { LOGI("DmAuthManager::OnSessionClosed sessionId = %{public}d", sessionId); - AuthenticateFinish(); + if (authResponseState_ != nullptr) { + isFinishOfLocal_ = false; + AuthenticateFinish(); + } } void DmAuthManager::ProcessSourceMsg() @@ -1420,7 +1423,10 @@ void DmAuthManager::SinkAuthenticateFinish() processInfo_.pkgName = authResponseContext_->peerBundleName; listener_->OnSinkBindResult(processInfo_, peerTargetId_, authResponseContext_->reply, authResponseContext_->state, GenerateBindResultContent()); - if (authResponseState_->GetStateType() == AuthState::AUTH_RESPONSE_FINISH && authPtr_ != nullptr) { + if ((authResponseState_->GetStateType() == AuthState::AUTH_RESPONSE_FINISH || + authResponseState_->GetStateType() == AuthState::AUTH_RESPONSE_CONFIRM || + authResponseState_->GetStateType() == AuthState::AUTH_RESPONSE_SHOW) && + (authResponseContext_->authType == AUTH_TYPE_NFC || authPtr_ != nullptr)) { authUiStateMgr_->UpdateUiState(DmUiStateMsg::MSG_CANCEL_PIN_CODE_SHOW); authUiStateMgr_->UpdateUiState(DmUiStateMsg::MSG_CANCEL_CONFIRM_SHOW); } diff --git a/services/service/src/device_manager_service_listener.cpp b/services/service/src/device_manager_service_listener.cpp index 93a1e4820..e4004c096 100644 --- a/services/service/src/device_manager_service_listener.cpp +++ b/services/service/src/device_manager_service_listener.cpp @@ -74,11 +74,13 @@ void handleExtraData(const DmDeviceInfo &info, DmDeviceBasicInfo &deviceBasicInf cJSON_Delete(extraDataJsonObj); cJSON *basicExtraDataJsonObj = cJSON_CreateObject(); if (basicExtraDataJsonObj == NULL) { + cJSON_free(customData); return; } cJSON_AddStringToObject(basicExtraDataJsonObj, PARAM_KEY_CUSTOM_DATA, customData); char *basicExtraData = cJSON_PrintUnformatted(basicExtraDataJsonObj); if (basicExtraData == nullptr) { + cJSON_free(customData); cJSON_Delete(basicExtraDataJsonObj); return; } diff --git a/services/service/src/relationshipsyncmgr/dm_comm_tool.cpp b/services/service/src/relationshipsyncmgr/dm_comm_tool.cpp index 313ff8721..e275bbd95 100644 --- a/services/service/src/relationshipsyncmgr/dm_comm_tool.cpp +++ b/services/service/src/relationshipsyncmgr/dm_comm_tool.cpp @@ -88,6 +88,7 @@ int32_t DMCommTool::SendUserIds(const std::string rmtNetworkId, return ERR_DM_FAILED; } std::string msgStr(msg); + SON_free(msg); cJSON_Delete(root); CommMsg commMsg(DM_COMM_SEND_LOCAL_USERIDS, msgStr); std::string payload = GetCommMsgString(commMsg); @@ -117,6 +118,7 @@ void DMCommTool::RspLocalFrontOrBackUserIds(const std::string rmtNetworkId, return; } std::string msgStr(msg); + cJSON_free(msg); cJSON_Delete(root); CommMsg commMsg(DM_COMM_RSP_LOCAL_USERIDS, msgStr); std::string payload = GetCommMsgString(commMsg); -- Gitee