diff options
Diffstat (limited to 'ng/AndroidRemotelyProvisionedComponentDevice.cpp')
-rw-r--r-- | ng/AndroidRemotelyProvisionedComponentDevice.cpp | 5 |
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()); } |