Introduce psa_key_handle_equal inline function
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
diff --git a/include/psa/crypto_platform.h b/include/psa/crypto_platform.h
index a27136d..9cc27f6 100644
--- a/include/psa/crypto_platform.h
+++ b/include/psa/crypto_platform.h
@@ -64,6 +64,19 @@
return( handle == 0 );
}
+/** Compare two handles.
+ *
+ * \param handle1 First handle.
+ * \param handle2 Second handle.
+ *
+ * \return Non-zero if the two handles are equal, zero otherwise.
+ */
+static inline int psa_key_handle_equal( psa_key_handle_t handle1,
+ psa_key_handle_t handle2 )
+{
+ return( handle1 == handle2 );
+}
+
#if defined(MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER)
/* Building for the PSA Crypto service on a PSA platform, a key owner is a PSA
diff --git a/tests/suites/test_suite_psa_crypto_slot_management.function b/tests/suites/test_suite_psa_crypto_slot_management.function
index 39491a0..a99f7de 100644
--- a/tests/suites/test_suite_psa_crypto_slot_management.function
+++ b/tests/suites/test_suite_psa_crypto_slot_management.function
@@ -659,7 +659,7 @@
}
PSA_ASSERT( psa_destroy_key( source_handle ) );
- if( target_handle != source_handle )
+ if( ! psa_key_handle_equal( target_handle, source_handle ) )
PSA_ASSERT( psa_destroy_key( target_handle ) );
exit:
@@ -768,7 +768,7 @@
PSA_ASSERT( status );
TEST_ASSERT( ! psa_key_handle_is_null( handles[i] ) );
for( j = 0; j < i; j++ )
- TEST_ASSERT( handles[i] != handles[j] );
+ TEST_ASSERT( ! psa_key_handle_equal( handles[i], handles[j] ) );
}
max_handles = i;