diff --git a/library/psa_crypto.c b/library/psa_crypto.c index e10c34cc53..d458b0297d 100644 --- a/library/psa_crypto.c +++ b/library/psa_crypto.c @@ -3287,11 +3287,12 @@ psa_status_t psa_sign_hash_complete( status = psa_driver_wrapper_sign_hash_complete(operation, signature, signature_size, signature_length); -exit: /* Update ops count with work done. */ operation->num_ops = psa_driver_wrapper_sign_hash_get_num_ops(operation); +exit: + psa_wipe_output_buffer(signature, status, signature_size, *signature_length); @@ -3418,12 +3419,12 @@ psa_status_t psa_verify_hash_complete( status = psa_driver_wrapper_verify_hash_complete(operation); -exit: - /* Update ops count with work done. */ operation->num_ops = psa_driver_wrapper_verify_hash_get_num_ops( operation); +exit: + if (status != PSA_OPERATION_INCOMPLETE) { if (status != PSA_SUCCESS) { operation->error_occurred = 1;