Update LMS PSA error conversion

Signed-off-by: Raef Coles <raef.coles@arm.com>
diff --git a/library/lmots.c b/library/lmots.c
index 504da2e..54773e1 100644
--- a/library/lmots.c
+++ b/library/lmots.c
@@ -156,46 +156,38 @@
     psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
     size_t output_hash_len;
     unsigned short checksum;
-    int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
 
     status = psa_hash_setup( &op, PSA_ALG_SHA_256 );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_update( &op, params->I_key_identifier,
                               MBEDTLS_LMOTS_I_KEY_ID_LEN );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_update( &op, params->q_leaf_identifier,
                               MBEDTLS_LMOTS_Q_LEAF_ID_LEN );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_update( &op, D_MESSAGE_CONSTANT_BYTES, D_CONST_LEN );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_update( &op, C_random_value,
                               MBEDTLS_LMOTS_C_RANDOM_VALUE_LEN(params->type) );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_update( &op, msg, msg_len );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_finish( &op, out,
                               MBEDTLS_LMOTS_N_HASH_LEN(params->type),
                               &output_hash_len );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     checksum = lmots_checksum_calculate( params, out );
@@ -205,7 +197,7 @@
 exit:
     psa_hash_abort( &op );
 
-    return( ret );
+    return( mbedtls_lms_error_from_psa( status ) );
 }
 
 /* Hash each element of the string of digits (+ checksum), producing a hash
@@ -253,7 +245,6 @@
     psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
     size_t output_hash_len;
     unsigned char tmp_hash[MBEDTLS_LMOTS_N_HASH_LEN_MAX];
-    int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
 
     for ( i_digit_idx = 0;
           i_digit_idx < MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT(params->type);
@@ -274,50 +265,43 @@
               j_hash_idx++ )
         {
             status = psa_hash_setup( &op, PSA_ALG_SHA_256 );
-            ret = mbedtls_lms_error_from_psa( status );
-            if( ret != 0 )
+            if( status != PSA_SUCCESS )
                 goto exit;
 
             status = psa_hash_update( &op,
                                       params->I_key_identifier,
                                       MBEDTLS_LMOTS_I_KEY_ID_LEN );
-            ret = mbedtls_lms_error_from_psa( status );
-            if( ret != 0 )
+            if( status != PSA_SUCCESS )
                 goto exit;
 
             status = psa_hash_update( &op,
                                       params->q_leaf_identifier,
                                       MBEDTLS_LMOTS_Q_LEAF_ID_LEN );
-            ret = mbedtls_lms_error_from_psa( status );
-            if( ret != 0 )
+            if( status != PSA_SUCCESS )
                 goto exit;
 
             mbedtls_lms_unsigned_int_to_network_bytes( i_digit_idx,
                                                        I_DIGIT_IDX_LEN,
                                                        i_digit_idx_bytes );
             status = psa_hash_update( &op, i_digit_idx_bytes, I_DIGIT_IDX_LEN );
-            ret = mbedtls_lms_error_from_psa( status );
-            if( ret != 0 )
+            if( status != PSA_SUCCESS )
                 goto exit;
 
             mbedtls_lms_unsigned_int_to_network_bytes( j_hash_idx,
                                                        J_HASH_IDX_LEN,
                                                        j_hash_idx_bytes );
             status = psa_hash_update( &op, j_hash_idx_bytes, J_HASH_IDX_LEN );
-            ret = mbedtls_lms_error_from_psa( status );
-            if( ret != 0 )
+            if( status != PSA_SUCCESS )
                 goto exit;
 
             status = psa_hash_update( &op, tmp_hash,
                                       MBEDTLS_LMOTS_N_HASH_LEN(params->type) );
-            ret = mbedtls_lms_error_from_psa( status );
-            if( ret != 0 )
+            if( status != PSA_SUCCESS )
                 goto exit;
 
             status = psa_hash_finish( &op, tmp_hash, sizeof( tmp_hash ),
                                       &output_hash_len );
-            ret = mbedtls_lms_error_from_psa( status );
-            if( ret != 0 )
+            if( status != PSA_SUCCESS )
                 goto exit;
 
             psa_hash_abort( &op );
@@ -328,15 +312,10 @@
     }
 
 exit:
-    if( ret != 0 )
-    {
-        psa_hash_abort( &op );
-        return( ret );
-    }
-
+    psa_hash_abort( &op );
     mbedtls_platform_zeroize( tmp_hash, sizeof( tmp_hash ) );
 
-    return ret;
+    return( mbedtls_lms_error_from_psa( status ) );
 }
 
 /* Combine the hashes of the digit array into a public key. This is used in
@@ -361,46 +340,41 @@
     psa_hash_operation_t op = PSA_HASH_OPERATION_INIT;
     psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
     size_t output_hash_len;
-    int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
 
     status = psa_hash_setup( &op, PSA_ALG_SHA_256 );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_update( &op,
                               params->I_key_identifier,
                               MBEDTLS_LMOTS_I_KEY_ID_LEN );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_update( &op, params->q_leaf_identifier,
                               MBEDTLS_LMOTS_Q_LEAF_ID_LEN );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_update( &op, D_PUBLIC_CONSTANT_BYTES, D_CONST_LEN );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_update( &op, y_hashed_digits,
                               MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT(params->type) *
                               MBEDTLS_LMOTS_N_HASH_LEN(params->type) );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_finish( &op, pub_key,
                               MBEDTLS_LMOTS_N_HASH_LEN(params->type),
                               &output_hash_len );
-    ret = mbedtls_lms_error_from_psa( status );
+    if( status != PSA_SUCCESS )
 
 exit:
     psa_hash_abort( &op );
-    return( ret );
+
+    return( mbedtls_lms_error_from_psa( status ) );
 }
 
 int mbedtls_lms_error_from_psa( psa_status_t status )
@@ -589,7 +563,6 @@
     unsigned int i_digit_idx;
     unsigned char i_digit_idx_bytes[2];
     unsigned char const_bytes[1];
-    int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
 
     if( ctx->have_private_key )
     {
@@ -619,47 +592,40 @@
           i_digit_idx++ )
     {
         status = psa_hash_setup( &op, PSA_ALG_SHA_256 );
-        ret = mbedtls_lms_error_from_psa( status );
-        if( ret != 0 )
+        if( status != PSA_SUCCESS )
             goto exit;
 
-        ret = psa_hash_update( &op,
+        status = psa_hash_update( &op,
                                ctx->params.I_key_identifier,
                                sizeof( ctx->params.I_key_identifier ) );
-        ret = mbedtls_lms_error_from_psa( status );
-        if( ret )
+        if( status != PSA_SUCCESS )
             goto exit;
 
         status = psa_hash_update( &op,
                                   ctx->params.q_leaf_identifier,
                                   MBEDTLS_LMOTS_Q_LEAF_ID_LEN );
-        ret = mbedtls_lms_error_from_psa( status );
-        if( ret )
+        if( status != PSA_SUCCESS )
             goto exit;
 
         mbedtls_lms_unsigned_int_to_network_bytes( i_digit_idx, I_DIGIT_IDX_LEN,
                                                    i_digit_idx_bytes );
         status = psa_hash_update( &op, i_digit_idx_bytes, I_DIGIT_IDX_LEN );
-        ret = mbedtls_lms_error_from_psa( status );
-        if( ret )
+        if( status != PSA_SUCCESS )
             goto exit;
 
         status = psa_hash_update( &op, const_bytes, sizeof( const_bytes ) );
-        ret = mbedtls_lms_error_from_psa( status );
-        if( ret )
+        if( status != PSA_SUCCESS )
             goto exit;
 
         status = psa_hash_update( &op, seed, seed_size );
-        ret = mbedtls_lms_error_from_psa( status );
-        if( ret )
+        if( status != PSA_SUCCESS )
             goto exit;
 
         status = psa_hash_finish( &op,
                                   ctx->private_key[i_digit_idx],
                                   MBEDTLS_LMOTS_N_HASH_LEN(ctx->params.type),
                                   &output_hash_len );
-        ret = mbedtls_lms_error_from_psa( status );
-        if( ret )
+        if( status != PSA_SUCCESS )
             goto exit;
 
         psa_hash_abort( &op );
@@ -668,13 +634,9 @@
     ctx->have_private_key = 1;
 
 exit:
-    if( ret != 0 )
-    {
-        psa_hash_abort( &op );
-        return( ret );
-    }
+    psa_hash_abort( &op );
 
-    return ret;
+    return ( mbedtls_lms_error_from_psa( status ) );
 }
 
 int mbedtls_lmots_calculate_public_key( mbedtls_lmots_public_t *ctx,
diff --git a/library/lms.c b/library/lms.c
index 93aaca1..ec6ec0c 100644
--- a/library/lms.c
+++ b/library/lms.c
@@ -110,47 +110,40 @@
     psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
     size_t output_hash_len;
     unsigned char r_node_idx_bytes[4];
-    int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
 
     op = psa_hash_operation_init( );
     status = psa_hash_setup( &op, PSA_ALG_SHA_256 );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_update( &op, params->I_key_identifier,
                               MBEDTLS_LMOTS_I_KEY_ID_LEN );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     mbedtls_lms_unsigned_int_to_network_bytes( r_node_idx, 4, r_node_idx_bytes );
     status = psa_hash_update( &op, r_node_idx_bytes, 4 );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_update( &op, D_LEAF_CONSTANT_BYTES, D_CONST_LEN );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_update( &op, pub_key,
                               MBEDTLS_LMOTS_N_HASH_LEN(params->otstype) );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_finish( &op, out, MBEDTLS_LMS_M_NODE_BYTES(params->type),
                               &output_hash_len );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
 exit:
     psa_hash_abort( &op );
 
-    return( ret );
+    return ( mbedtls_lms_error_from_psa( status ) );
 }
 
 /* Calculate the value of an internal node of the merkle tree (which is a hash
@@ -185,53 +178,45 @@
     psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
     size_t output_hash_len;
     unsigned char r_node_idx_bytes[4];
-    int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
 
     op = psa_hash_operation_init( );
     status = psa_hash_setup( &op, PSA_ALG_SHA_256 );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_update( &op, params->I_key_identifier,
                               MBEDTLS_LMOTS_I_KEY_ID_LEN );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     mbedtls_lms_unsigned_int_to_network_bytes( r_node_idx, 4, r_node_idx_bytes );
     status = psa_hash_update( &op, r_node_idx_bytes, 4 );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_update( &op, D_INTR_CONSTANT_BYTES, D_CONST_LEN );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_update( &op, left_node,
                               MBEDTLS_LMS_M_NODE_BYTES(params->type) );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
     status = psa_hash_update( &op, right_node,
                               MBEDTLS_LMS_M_NODE_BYTES(params->type) );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
-    ret = psa_hash_finish( &op, out, MBEDTLS_LMS_M_NODE_BYTES(params->type),
+    status = psa_hash_finish( &op, out, MBEDTLS_LMS_M_NODE_BYTES(params->type),
                            &output_hash_len );
-    ret = mbedtls_lms_error_from_psa( status );
-    if( ret != 0 )
+    if( status != PSA_SUCCESS )
         goto exit;
 
 exit:
     psa_hash_abort( &op );
 
-    return ret;
+    return( mbedtls_lms_error_from_psa( status ) );
 }
 
 void mbedtls_lms_init_public( mbedtls_lms_public_t *ctx )