diff --git a/keymaster/3.0/vts/functional/attestation_record.cpp b/keymaster/3.0/vts/functional/attestation_record.cpp index 5d96fff803..a428989de2 100644 --- a/keymaster/3.0/vts/functional/attestation_record.cpp +++ b/keymaster/3.0/vts/functional/attestation_record.cpp @@ -274,10 +274,12 @@ ErrorCode parse_attestation_record(const uint8_t* asn1_key_desc, size_t asn1_key *keymaster_security_level = static_cast(ASN1_ENUMERATED_get(record->keymaster_security_level)); - attestation_challenge->setToExternal(record->attestation_challenge->data, - record->attestation_challenge->length); - - unique_id->setToExternal(record->unique_id->data, record->unique_id->length); + auto& chall = record->attestation_challenge; + attestation_challenge->resize(chall->length); + memcpy(attestation_challenge->data(), chall->data, chall->length); + auto& uid = record->unique_id; + unique_id->resize(uid->length); + memcpy(unique_id->data(), uid->data, uid->length); ErrorCode error = extract_auth_list(record->software_enforced, software_enforced); if (error != ErrorCode::OK) return error;