vb2_sha_api_tests: Silence UBSAN warning for zero length array access

Looks like UBSAN doesn't like zero-length arrays. We use those all the
time in firmware, but I guess that's the reason we don't even try to run
UBSAN on the real firmware repos. For this particular case in vboot's
tests, it's easy enough to work around.

BRANCH=None
BUG=chromium:1043405
TEST=make runtests

Change-Id: Ia799fdc57ee17dc46b55920dd1d2601adf98d3f7
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2008766
Reviewed-by: Joel Kitching <kitching@chromium.org>
diff --git a/tests/vb2_sha_api_tests.c b/tests/vb2_sha_api_tests.c
index 21e3268..6a23dce 100644
--- a/tests/vb2_sha_api_tests.c
+++ b/tests/vb2_sha_api_tests.c
@@ -99,7 +99,7 @@
 		"hash_verify wrong algo");
 
 	memcpy(mock_hash.bytes.sha1, mock_sha1, sizeof(mock_sha1));
-	mock_hash.bytes.raw[5] = 0xfe;
+	mock_hash.bytes.sha1[5] = 0xfe;
 	mock_hash.algo = VB2_HASH_SHA1;
 	TEST_EQ(vb2_hash_verify(mock_buffer, sizeof(mock_buffer),
 				&mock_hash), VB2_ERROR_SHA_MISMATCH,
@@ -108,6 +108,9 @@
 
 int main(int argc, char *argv[])
 {
+	TEST_EQ(sizeof(mock_hash.bytes), VB2_SHA512_DIGEST_SIZE,
+		"tests run with all SHA algorithms enabled");
+
 	vb2_hash_calculate_tests();
 	vb2_hash_verify_tests();