Check result of multipart operation
Check that the multi-part operation has produced
the correct result.
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
diff --git a/programs/psa/psa_hash.c b/programs/psa/psa_hash.c
index 2afe34d..ae4e9a5 100644
--- a/programs/psa/psa_hash.c
+++ b/programs/psa/psa_hash.c
@@ -111,6 +111,15 @@
return EXIT_FAILURE;
}
+ /* Check the result of the operation against the sample */
+ if ((memcmp(hash, sample_hash, sample_hash_len) != 0) || hash_length != sample_hash_len)
+ {
+ mbedtls_printf("Multi-part hash operation gave the wrong result!\n\n");
+ psa_hash_abort(&hash_operation);
+ psa_hash_abort(&cloned_hash_operation);
+ return EXIT_FAILURE;
+ }
+
status =
psa_hash_verify(&cloned_hash_operation, sample_hash,
sample_hash_len);