Fix unintentional direct use of memcpy()
Change psa_crypto_output_copy_free() to use psa_crypto_copy_output()
rather than calling memcpy directly as was erroneously done previously.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index 9330d40..4cea3a9 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -5617,6 +5617,8 @@
psa_status_t psa_crypto_output_copy_free(psa_crypto_output_copy_t *output_copy)
{
+ psa_status_t status;
+
if (output_copy->buffer == NULL) {
output_copy->len = 0;
return PSA_SUCCESS;
@@ -5626,7 +5628,11 @@
return PSA_ERROR_CORRUPTION_DETECTED;
}
- memcpy(output_copy->original, output_copy->buffer, output_copy->len);
+ status = psa_crypto_copy_output(output_copy->buffer, output_copy->len,
+ output_copy->original, output_copy->len);
+ if (status != PSA_SUCCESS) {
+ return status;
+ }
mbedtls_free(output_copy->buffer);
output_copy->buffer = NULL;