Use unique_ptr in oemcrypto ref
Merge from Widevine repo of http://go/wvgerrit/95945 The reference oemcrypto and testbed still use old style pointers, even though we now require a more modern C++ compiler. Updated a few places where smart pointer would be appropriate. Bug: 141393616 Test: Ran unit tests Change-Id: I8b1e155bce241075928e373478d6f8e1001233f9
This commit is contained in:
@@ -210,14 +210,6 @@ SessionContext::SessionContext(CryptoEngine* ce, SessionId sid,
|
||||
}
|
||||
|
||||
SessionContext::~SessionContext() {
|
||||
if (usage_entry_) {
|
||||
delete usage_entry_;
|
||||
usage_entry_ = nullptr;
|
||||
}
|
||||
if (session_keys_) {
|
||||
delete session_keys_;
|
||||
session_keys_ = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
// Internal utility function to derive key using CMAC-128
|
||||
@@ -777,11 +769,11 @@ OEMCryptoResult SessionContext::LoadKeysNoSignature(
|
||||
if (session_keys_ == nullptr) {
|
||||
switch (license_type) {
|
||||
case OEMCrypto_ContentLicense:
|
||||
session_keys_ = new ContentKeysContext();
|
||||
session_keys_.reset(new ContentKeysContext());
|
||||
break;
|
||||
|
||||
case OEMCrypto_EntitlementLicense:
|
||||
session_keys_ = new EntitlementKeysContext();
|
||||
session_keys_.reset(new EntitlementKeysContext());
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -915,7 +907,8 @@ OEMCryptoResult SessionContext::LoadEntitledContentKeys(
|
||||
if (!key_array) {
|
||||
return OEMCrypto_ERROR_UNKNOWN_FAILURE;
|
||||
}
|
||||
if (!session_keys_ || session_keys_->type() != OEMCrypto_EntitlementLicense) {
|
||||
if (session_keys_ == nullptr ||
|
||||
session_keys_->type() != OEMCrypto_EntitlementLicense) {
|
||||
return OEMCrypto_ERROR_INVALID_CONTEXT;
|
||||
}
|
||||
for (size_t i = 0; i < key_array_length; ++i) {
|
||||
@@ -1494,8 +1487,8 @@ OEMCryptoResult SessionContext::UpdateUsageEntry(uint8_t* header_buffer,
|
||||
return OEMCrypto_ERROR_INVALID_CONTEXT;
|
||||
}
|
||||
return ce_->usage_table().UpdateUsageEntry(
|
||||
this, usage_entry_, header_buffer, header_buffer_length, entry_buffer,
|
||||
entry_buffer_length, &clock_values_);
|
||||
this, usage_entry_.get(), header_buffer, header_buffer_length,
|
||||
entry_buffer, entry_buffer_length, &clock_values_);
|
||||
}
|
||||
|
||||
OEMCryptoResult SessionContext::DeactivateUsageEntry(
|
||||
@@ -1514,7 +1507,7 @@ OEMCryptoResult SessionContext::ReportUsage(const std::vector<uint8_t>& pst,
|
||||
|
||||
OEMCryptoResult SessionContext::MoveEntry(uint32_t new_index) {
|
||||
if (!usage_entry_) return OEMCrypto_ERROR_INVALID_CONTEXT;
|
||||
return ce_->usage_table().MoveEntry(usage_entry_, new_index);
|
||||
return ce_->usage_table().MoveEntry(usage_entry_.get(), new_index);
|
||||
}
|
||||
|
||||
// Internal utility function to decrypt the message
|
||||
|
||||
Reference in New Issue
Block a user