summaryrefslogtreecommitdiff
path: root/ng/AndroidRemotelyProvisionedComponentDevice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ng/AndroidRemotelyProvisionedComponentDevice.cpp')
-rw-r--r--ng/AndroidRemotelyProvisionedComponentDevice.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/ng/AndroidRemotelyProvisionedComponentDevice.cpp b/ng/AndroidRemotelyProvisionedComponentDevice.cpp
index e6bd40f..54ea70c 100644
--- a/ng/AndroidRemotelyProvisionedComponentDevice.cpp
+++ b/ng/AndroidRemotelyProvisionedComponentDevice.cpp
@@ -112,7 +112,10 @@ ScopedAStatus AndroidRemotelyProvisionedComponentDevice::generateCertificateRequ
GenerateCsrRequest request(impl_->message_version());
request.test_mode = testMode;
request.num_keys = keysToSign.size();
- request.keys_to_sign_array = new KeymasterBlob[keysToSign.size()];
+ request.keys_to_sign_array = new (std::nothrow) KeymasterBlob[keysToSign.size()];
+ if (request.keys_to_sign_array == nullptr) {
+ return km_utils::kmError2ScopedAStatus(KM_ERROR_MEMORY_ALLOCATION_FAILED);
+ }
for (size_t i = 0; i < keysToSign.size(); i++) {
request.SetKeyToSign(i, keysToSign[i].macedKey.data(), keysToSign[i].macedKey.size());
}