diff --git a/tests/psa-client-server/psasim/src/psa_ff_server.c b/tests/psa-client-server/psasim/src/psa_ff_server.c index 7f97b9bf0f..b0737ec840 100644 --- a/tests/psa-client-server/psasim/src/psa_ff_server.c +++ b/tests/psa-client-server/psasim/src/psa_ff_server.c @@ -474,7 +474,7 @@ void psa_write(psa_handle_t msg_handle, uint32_t outvec_idx, while (sofar < num_bytes) { size_t sending = (num_bytes - sofar); - if (sending >= MAX_FRAGMENT_SIZE) { + if (sending > (MAX_FRAGMENT_SIZE - (sizeof(size_t) * 2))) { sending = MAX_FRAGMENT_SIZE - (sizeof(size_t) * 2); } diff --git a/tests/psa-client-server/psasim/src/psa_sim_crypto_client.c b/tests/psa-client-server/psasim/src/psa_sim_crypto_client.c index 28dff38d02..4200f6c04d 100644 --- a/tests/psa-client-server/psasim/src/psa_sim_crypto_client.c +++ b/tests/psa-client-server/psasim/src/psa_sim_crypto_client.c @@ -44,7 +44,7 @@ int psa_crypto_call(int function, invec.base = in_params; invec.len = in_params_len; - size_t max_receive = 8192; + size_t max_receive = 24576; uint8_t *receive = malloc(max_receive); if (receive == NULL) { fprintf(stderr, "FAILED to allocate %u bytes\n", (unsigned) max_receive); @@ -119,6 +119,11 @@ fail: void mbedtls_psa_crypto_free(void) { + /* Do not try to close a connection that was never started.*/ + if (handle == -1) { + return; + } + CLIENT_PRINT("Closing handle"); psa_close(handle); handle = -1; diff --git a/tests/psa-client-server/psasim/src/psa_sim_generate.pl b/tests/psa-client-server/psasim/src/psa_sim_generate.pl index ac238070c3..ac7b2419c7 100755 --- a/tests/psa-client-server/psasim/src/psa_sim_generate.pl +++ b/tests/psa-client-server/psasim/src/psa_sim_generate.pl @@ -349,7 +349,7 @@ int psa_crypto_call(int function, invec.base = in_params; invec.len = in_params_len; - size_t max_receive = 8192; + size_t max_receive = 24576; uint8_t *receive = malloc(max_receive); if (receive == NULL) { fprintf(stderr, "FAILED to allocate %u bytes\n", (unsigned) max_receive); @@ -424,6 +424,11 @@ fail: void mbedtls_psa_crypto_free(void) { + /* Do not try to close a connection that was never started.*/ + if (handle == -1) { + return; + } + CLIENT_PRINT("Closing handle"); psa_close(handle); handle = -1;