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);