From 86a33acfce81fe4009be48cdf033fb7023f143e9 Mon Sep 17 00:00:00 2001 From: Shawn Willden Date: Thu, 29 Mar 2018 20:57:01 -0600 Subject: [PATCH] Correct bug in HmacKeySharingTest The key sharing test modified the seed in an invalid way. Bug: 77588764 Test: VtsHalKeymasterV4_0TargetTest Change-Id: I0b2ac90397a3f23258ebd4dddc5f6043af7b1600 --- keymaster/4.0/vts/functional/HmacKeySharingTest.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/keymaster/4.0/vts/functional/HmacKeySharingTest.cpp b/keymaster/4.0/vts/functional/HmacKeySharingTest.cpp index 96c47a8d90..f15979693f 100644 --- a/keymaster/4.0/vts/functional/HmacKeySharingTest.cpp +++ b/keymaster/4.0/vts/functional/HmacKeySharingTest.cpp @@ -136,6 +136,7 @@ TEST_F(HmacKeySharingTest, ComputeSharedHmac) { responses = computeSharedHmac(all_keymasters(), params); ASSERT_GT(responses.size(), 0U); + ASSERT_EQ(32U, responses[0].sharing_check.size()); verifyResponses(responses[0].sharing_check, responses); } @@ -216,7 +217,11 @@ TEST_F(HmacKeySharingTest, ComputeSharedHmacCorruptSeed) { // matter what value is in the additional byte; it changes the seed regardless. auto param_to_tweak = rand() % params.size(); auto& to_tweak = params[param_to_tweak].seed; - to_tweak.resize(to_tweak.size() + 1); + ASSERT_TRUE(to_tweak.size() == 32 || to_tweak.size() == 0); + if (!to_tweak.size()) { + to_tweak.resize(32); // Contents don't matter; a little randomization is nice. + } + to_tweak[0]++; responses = computeSharedHmac(all_keymasters(), params); for (size_t i = 0; i < responses.size(); ++i) {