diff --git a/services/audio_service/server/src/audio_process_in_server.cpp b/services/audio_service/server/src/audio_process_in_server.cpp index 54c3842df8fa7160ac99dcf5372ef8a3cc311679..b8a0e80aa7065826a9f8821a9ff162b5b82c56fb 100644 --- a/services/audio_service/server/src/audio_process_in_server.cpp +++ b/services/audio_service/server/src/audio_process_in_server.cpp @@ -496,6 +496,8 @@ void ProcessDeathRecipient::OnRemoteDied(const wptr &remote) int32_t AudioProcessInServer::RegisterProcessCb(const sptr& object) { std::lock_guard lock(registerProcessCbLock_); + CHECK_AND_RETURN_RET_LOG(object != nullptr, ERR_INVALID_PARAM, "RegisterProcessCb obj is null"); + CHECK_AND_RETURN_RET_LOG(object_ == nullptr, SUCCESS, "Has registerProcessCb obj"); sptr processCb = iface_cast(object); CHECK_AND_RETURN_RET_LOG(processCb != nullptr, ERR_INVALID_PARAM, "RegisterProcessCb obj cast failed"); deathRecipient_ = new ProcessDeathRecipient(this, releaseCallback_);