Make OTAKeyboxSupported handle the short buffer

return code.

Merge from go/wvgerrit/141469

bug: 206670307
Change-Id: Iea350ffd6ba10bfd434d5012cdb4cec211ff5fda
This commit is contained in:
Jeff Tinker
2021-12-14 19:45:18 -08:00
committed by Alex Dale
parent 0ec1993d39
commit 1b6aaf2380

View File

@@ -1236,8 +1236,13 @@ class Adapter {
if (!level1_.GenerateOTARequest) return false;
size_t buffer_size = 500; // a large buffer.
std::vector<uint8_t> buffer(buffer_size);
return level1_.GenerateOTARequest(0, buffer.data(), &buffer_size, 0) !=
OEMCrypto_ERROR_NOT_IMPLEMENTED;
OEMCryptoResult result =
level1_.GenerateOTARequest(0, buffer.data(), &buffer_size, 0);
if (result == OEMCrypto_ERROR_SHORT_BUFFER) {
buffer.resize(buffer_size);
result = level1_.GenerateOTARequest(0, buffer.data(), &buffer_size, 0);
}
return result == OEMCrypto_SUCCESS;
}
private: