am 47014df2: Return specific error code when decrypting on invalid session

* commit '47014df2e8b8a3bc350a170ae3d15230332a505a':
  Return specific error code when decrypting on invalid session
This commit is contained in:
Jeff Tinker
2015-07-08 01:37:28 +00:00
committed by Android Git Automerger
2 changed files with 5 additions and 1 deletions

View File

@@ -146,7 +146,7 @@ static android::status_t mapCdmResponseType(wvcdm::CdmResponseType res) {
case wvcdm::INVALID_DECRYPT_PARAMETERS_ENG_4:
return kInvalidDecryptParametersEng4;
case wvcdm::SESSION_NOT_FOUND_FOR_DECRYPT:
return kSessionNotFoundForDecrypt;
return android::ERROR_DRM_SESSION_NOT_OPENED;
case wvcdm::INVALID_DEVICE_CERTIFICATE_TYPE:
return kInvalidDeviceCertificateType;
case wvcdm::INVALID_KEY_SYSTEM:

View File

@@ -185,6 +185,10 @@ ssize_t WVCryptoPlugin::decrypt(bool secure, const uint8_t key[KEY_ID_SIZE],
errorDetailMsg->setTo("Error decrypting data: requested key has not been loaded");
// This error is actionable by the app and should be passed up.
return mapCdmResponseType(res);
} else if (res == wvcdm::SESSION_NOT_FOUND_FOR_DECRYPT) {
errorDetailMsg->setTo("Error decrypting data: session not found, possibly reclaimed");
// This error is actionable by the app and should be passed up.
return mapCdmResponseType(res);
} else {
// Swallow the specifics of other errors to obscure decrypt internals.
return kErrorCDMGeneric;