Do not allow configuring zero-length PSK
fix error when calloc is called with size 0
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 69a46b9..e450207 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -9171,8 +9171,13 @@
ssl_conf_remove_psk( conf );
/* Check and set raw PSK */
- if( psk == NULL || psk_len > MBEDTLS_PSK_MAX_LEN )
+ if( psk == NULL )
return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA );
+ if( psk_len == 0 )
+ return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA );
+ if( psk_len > MBEDTLS_PSK_MAX_LEN )
+ return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA );
+
if( ( conf->psk = mbedtls_calloc( 1, psk_len ) ) == NULL )
return( MBEDTLS_ERR_SSL_ALLOC_FAILED );
conf->psk_len = psk_len;