Adjust secure element code to the new ITS interface
diff --git a/library/psa_crypto_se.c b/library/psa_crypto_se.c
index aece47d..9451e52 100644
--- a/library/psa_crypto_se.c
+++ b/library/psa_crypto_se.c
@@ -148,17 +148,23 @@
 {
     psa_status_t status;
     psa_storage_uid_t uid;
+    size_t length;
 
     status = psa_get_se_driver_its_file_uid( driver, &uid );
     if( status != PSA_SUCCESS )
         return( status );
 
+    /* Read the amount of persistent data that the driver requests.
+     * If the data in storage is larger, it is truncated. If the data
+     * in storage is smaller, silently keep what is already at the end
+     * of the output buffer. */
     /* psa_get_se_driver_its_file_uid ensures that the size_t
      * persistent_data_size is in range, but compilers don't know that,
      * so cast to reassure them. */
     return( psa_its_get( uid, 0,
                          (uint32_t) driver->internal.persistent_data_size,
-                         driver->internal.persistent_data ) );
+                         driver->internal.persistent_data,
+                         &length ) );
 }
 
 psa_status_t psa_save_se_persistent_data(
diff --git a/library/psa_crypto_storage.c b/library/psa_crypto_storage.c
index 43a19b3..687d22a 100644
--- a/library/psa_crypto_storage.c
+++ b/library/psa_crypto_storage.c
@@ -437,9 +437,16 @@
 
 psa_status_t psa_crypto_load_transaction( void )
 {
-    return( psa_its_get( PSA_CRYPTO_ITS_TRANSACTION_UID, 0,
-                         sizeof( psa_crypto_transaction ),
-                         &psa_crypto_transaction ) );
+    psa_status_t status;
+    size_t length;
+    status = psa_its_get( PSA_CRYPTO_ITS_TRANSACTION_UID, 0,
+                          sizeof( psa_crypto_transaction ),
+                          &psa_crypto_transaction, &length );
+    if( status != PSA_SUCCESS )
+        return( status );
+    if( length != sizeof( psa_crypto_transaction ) )
+        return( PSA_ERROR_STORAGE_FAILURE );
+    return( PSA_SUCCESS );
 }
 
 psa_status_t psa_crypto_stop_transaction( void )