Fix unaligned access to auth token user_id

Bug: 65232288
Test: Set a pattern on cuttlefish, ensure we can unlock
Change-Id: I5ee09cf72ab7d3d636a25755134bfad6f88265f9
This commit is contained in:
Paul Crowley 2018-08-30 15:25:19 -07:00
parent 8e0780cba2
commit d281de75ad

View file

@ -122,7 +122,8 @@ static bool generateKeymasterKey(Keymaster& keymaster, const KeyAuthentication&
return false; return false;
} }
const hw_auth_token_t* at = reinterpret_cast<const hw_auth_token_t*>(auth.token.data()); const hw_auth_token_t* at = reinterpret_cast<const hw_auth_token_t*>(auth.token.data());
paramBuilder.Authorization(km::TAG_USER_SECURE_ID, at->user_id); auto user_id = at->user_id; // Make a copy because at->user_id is unaligned.
paramBuilder.Authorization(km::TAG_USER_SECURE_ID, user_id);
paramBuilder.Authorization(km::TAG_USER_AUTH_TYPE, km::HardwareAuthenticatorType::PASSWORD); paramBuilder.Authorization(km::TAG_USER_AUTH_TYPE, km::HardwareAuthenticatorType::PASSWORD);
paramBuilder.Authorization(km::TAG_AUTH_TIMEOUT, AUTH_TIMEOUT); paramBuilder.Authorization(km::TAG_AUTH_TIMEOUT, AUTH_TIMEOUT);
} }