Merging Android odk fuzz changes to improve coverage from http://go/wvgerrit/99911 am: ac942791c9

Change-Id: I16629e376b0e45aefa59bd7273bdfb6552d957cb
This commit is contained in:
Bharath Chandra Elluru
2020-05-15 00:12:14 +00:00
committed by Automerger Merge Worker

View File

@@ -88,15 +88,23 @@ OEMCryptoResult odk_deserialize_RenewalResponse(
OEMCryptoResult err = OEMCryptoResult err =
ODK_ParseRenewal(buf, SIZE_MAX, len, nonce_values, a->system_time, ODK_ParseRenewal(buf, SIZE_MAX, len, nonce_values, a->system_time,
&a->timer_limits, &a->clock_values, &timer_value); &a->timer_limits, &a->clock_values, &timer_value);
if (OEMCrypto_SUCCESS == err) { const bool is_parse_renewal_response_successful =
Message* msg = nullptr; err == ODK_SET_TIMER || err == ODK_DISABLE_TIMER ||
AllocateMessage(&msg, message_block); err == ODK_TIMER_EXPIRED || err == ODK_STALE_RENEWAL;
InitMessage(msg, const_cast<uint8_t*>(buf), len); if (!is_parse_renewal_response_successful) {
SetSize(msg, len); return err;
Unpack_ODK_PreparedRenewalRequest(msg, renewal_msg);
assert(ValidMessage(msg));
} }
return err; // In order to capture playback_time information which is part of
// renewal_msg and will be later used in kdo_serialize_RenewalResponse in
// odk_kdo method, we call Unpack_ODK_PreparedRenewalRequest private method.
// playback_time cannot be captured from publicly exposed API
// ODK_ParseRenewal.
Message* msg = nullptr;
AllocateMessage(&msg, message_block);
InitMessage(msg, const_cast<uint8_t*>(buf), len);
SetSize(msg, len);
Unpack_ODK_PreparedRenewalRequest(msg, renewal_msg);
return OEMCrypto_SUCCESS;
} }
OEMCryptoResult odk_deserialize_ProvisioningResponse( OEMCryptoResult odk_deserialize_ProvisioningResponse(