diff --git a/services/drm_service/server/src/key_session_service.cpp b/services/drm_service/server/src/key_session_service.cpp index 72725df7d8a5c921cc1f872eff24a1b8374a6b99..7967e0c3c0b23fdf8d87840808b2a7281a3441e7 100644 --- a/services/drm_service/server/src/key_session_service.cpp +++ b/services/drm_service/server/src/key_session_service.cpp @@ -74,7 +74,7 @@ int32_t MediaKeySessionService::Release() std::lock_guard lock(callbackMutex_); int32_t currentPid = IPCSkeleton::GetCallingPid(); DRM_DEBUG_LOG("MediaKeySessionService GetCallingPID: %{public}d", currentPid); - if (sessionOperatorsCallback_ != nullptr) { + if (sessionOperatorsCallback_.promote() != nullptr) { sessionOperatorsCallback_->CloseMediaKeySessionService(this); } return DRM_INNER_ERR_OK; diff --git a/services/drm_service/server/src/mediakeysystem_service.cpp b/services/drm_service/server/src/mediakeysystem_service.cpp index 9445e9ad5151edb4e0f7742782a004a557116e4e..ce865b530aabc53d43283f1a3d481bb8d555f79a 100644 --- a/services/drm_service/server/src/mediakeysystem_service.cpp +++ b/services/drm_service/server/src/mediakeysystem_service.cpp @@ -92,7 +92,7 @@ int32_t MediaKeySystemService::Release() int32_t currentPid = IPCSkeleton::GetCallingPid(); DRM_DEBUG_LOG("MediaKeySystemService GetCallingPID: %{public}d", currentPid); std::lock_guard lock(callbackMutex_); - if (keySystemOperatoersCallback_ != nullptr) { + if (keySystemOperatoersCallback_.promote() != nullptr) { keySystemOperatoersCallback_->CloseMediaKeySystemService(this); } return DRM_INNER_ERR_OK;