am 693f0813: am 87922237: DO NOT MERGE Part of fix for libmedia OOB write anywhere

* commit '693f0813814b10bfd23bea578fa258255477b207':
  DO NOT MERGE Part of fix for libmedia OOB write anywhere
This commit is contained in:
Jeff Tinker
2015-08-21 15:36:22 +00:00
committed by Android Git Automerger
3 changed files with 7 additions and 0 deletions

View File

@@ -39,6 +39,7 @@ enum CdmResponseType {
NEED_PROVISIONING,
DEVICE_REVOKED,
INSUFFICIENT_CRYPTO_RESOURCES,
SECURE_BUFFER_REQUIRED,
};
#define CORE_DISALLOW_COPY_AND_ASSIGN(TypeName) \

View File

@@ -579,6 +579,10 @@ CdmResponseType CryptoSession::Decrypt(const CdmDecryptionParameters& params) {
buffer_descriptor.type =
params.is_secure ? destination_buffer_type_ : OEMCrypto_BufferType_Clear;
if (params.is_secure && buffer_descriptor.type == OEMCrypto_BufferType_Clear) {
return SECURE_BUFFER_REQUIRED;
}
switch (buffer_descriptor.type) {
case OEMCrypto_BufferType_Clear:
buffer_descriptor.buffer.clear.address =

View File

@@ -35,6 +35,8 @@ static android::status_t mapCdmResponseType(wvcdm::CdmResponseType res) {
return kErrorCDMGeneric;
case wvcdm::UNKNOWN_ERROR:
return android::ERROR_DRM_UNKNOWN;
case wvcdm::SECURE_BUFFER_REQUIRED:
return android::ERROR_DRM_CANNOT_HANDLE;
}
// Return here instead of as a default case so that the compiler will warn