Merge "Avoid double release of crypto_lock_"

This commit is contained in:
Rahul Frias
2018-11-07 17:14:56 +00:00
committed by Android (Google) Code Review

View File

@@ -833,6 +833,8 @@ CdmResponseType CryptoSession::LoadKeys(
const std::vector<CryptoKey>& keys, const std::vector<CryptoKey>& keys,
const std::string& provider_session_token, const std::string& provider_session_token,
const std::string& srm_requirement, CdmLicenseKeyType key_type) { const std::string& srm_requirement, CdmLicenseKeyType key_type) {
CdmResponseType result = KEY_ADDED;
{
LOGV("CryptoSession::LoadKeys: Lock"); LOGV("CryptoSession::LoadKeys: Lock");
AutoLock auto_lock(crypto_lock_); AutoLock auto_lock(crypto_lock_);
@@ -846,7 +848,6 @@ CdmResponseType CryptoSession::LoadKeys(
message, signature, mac_key_iv, mac_key, keys, provider_session_token, message, signature, mac_key_iv, mac_key, keys, provider_session_token,
&cipher_mode_, srm_requirement); &cipher_mode_, srm_requirement);
CdmResponseType result = KEY_ADDED;
if (OEMCrypto_SUCCESS == sts) { if (OEMCrypto_SUCCESS == sts) {
if (!provider_session_token.empty()) if (!provider_session_token.empty())
update_usage_table_after_close_session_ = true; update_usage_table_after_close_session_ = true;
@@ -862,9 +863,7 @@ CdmResponseType CryptoSession::LoadKeys(
LOGE("CryptoSession::LoadKeys: OEMCrypto_LoadKeys error=%d", sts); LOGE("CryptoSession::LoadKeys: OEMCrypto_LoadKeys error=%d", sts);
result = LOAD_KEY_ERROR; result = LOAD_KEY_ERROR;
} }
} // Release crypto_lock_
// Leaving critical section
crypto_lock_.Release();
if (!provider_session_token.empty() && if (!provider_session_token.empty() &&
usage_support_type_ == kUsageTableSupport) { usage_support_type_ == kUsageTableSupport) {