Zeroize old psk buf when changing value in ssl_tls
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index bd2c270..09f6bfa 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -5872,6 +5872,7 @@
if( conf->psk != NULL || conf->psk_identity != NULL )
{
+ mbedtls_zeroize( conf->psk, conf->psk_len );
mbedtls_free( conf->psk );
mbedtls_free( conf->psk_identity );
conf->psk = NULL;
@@ -5907,7 +5908,10 @@
return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA );
if( ssl->handshake->psk != NULL )
+ {
+ mbedtls_zeroize( ssl->handshake->psk, ssl->handshake->psk_len );
mbedtls_free( ssl->handshake->psk );
+ }
if( ( ssl->handshake->psk = mbedtls_calloc( 1, psk_len ) ) == NULL )
return( MBEDTLS_ERR_SSL_ALLOC_FAILED );