diff --git a/libwvdrmengine/cdm/core/src/cdm_engine.cpp b/libwvdrmengine/cdm/core/src/cdm_engine.cpp index fd5234f3..132d2e4c 100644 --- a/libwvdrmengine/cdm/core/src/cdm_engine.cpp +++ b/libwvdrmengine/cdm/core/src/cdm_engine.cpp @@ -455,6 +455,7 @@ CdmResponseType CdmEngine::RestoreKey(const CdmSessionId& session_id, CdmResponseType CdmEngine::RemoveKeys(const CdmSessionId& session_id) { LOGI("session_id = %s", IdToString(session_id)); std::shared_ptr session; + std::unique_lock lock(session_map_lock_); if (!session_map_.FindSession(session_id, &session)) { LOGE("Session not found: session_id = %s", IdToString(session_id)); return SESSION_NOT_FOUND_5; @@ -466,6 +467,7 @@ CdmResponseType CdmEngine::RemoveKeys(const CdmSessionId& session_id) { CdmResponseType CdmEngine::RemoveLicense(const CdmSessionId& session_id) { LOGI("session_id = %s", IdToString(session_id)); std::shared_ptr session; + std::unique_lock lock(session_map_lock_); if (!session_map_.FindSession(session_id, &session)) { LOGE("Session not found: session_id = %s", IdToString(session_id)); return SESSION_NOT_FOUND_19;