From e268dbef611937ac2d1b12f0ed10fca09b6fdb61 Mon Sep 17 00:00:00 2001 From: Ashish Sharma Date: Tue, 30 Jun 2026 14:26:19 +0800 Subject: [PATCH] fix(esp-tls): guard against NULL PSK hint to prevent crash --- components/esp-tls/esp_tls_mbedtls.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/components/esp-tls/esp_tls_mbedtls.c b/components/esp-tls/esp_tls_mbedtls.c index 901d4ba713b..c8f7730517a 100644 --- a/components/esp-tls/esp_tls_mbedtls.c +++ b/components/esp-tls/esp_tls_mbedtls.c @@ -825,6 +825,10 @@ static esp_err_t set_server_config(esp_tls_cfg_server_t *cfg, esp_tls_t *tls) #if defined(CONFIG_ESP_TLS_PSK_VERIFICATION) } else if (cfg->psk_hint_key) { ESP_LOGD(TAG, "PSK authentication"); + if (cfg->psk_hint_key->hint == NULL) { + ESP_LOGE(TAG, "Failed to use psk_hint_key"); + return ESP_ERR_MBEDTLS_SSL_CONF_PSK_FAILED; + } ret = mbedtls_ssl_conf_psk(&tls->conf, cfg->psk_hint_key->key, cfg->psk_hint_key->key_size, (const unsigned char *)cfg->psk_hint_key->hint, strlen(cfg->psk_hint_key->hint)); if (ret != 0) { @@ -979,6 +983,10 @@ esp_err_t set_client_config(const char *hostname, size_t hostlen, esp_tls_cfg_t // // PSK encryption mode is configured only if no certificate supplied and psk pointer not null ESP_LOGD(TAG, "ssl psk authentication"); + if (cfg->psk_hint_key->hint == NULL) { + ESP_LOGE(TAG, "Failed to use psk_hint_key"); + return ESP_ERR_MBEDTLS_SSL_CONF_PSK_FAILED; + } ret = mbedtls_ssl_conf_psk(&tls->conf, cfg->psk_hint_key->key, cfg->psk_hint_key->key_size, (const unsigned char *)cfg->psk_hint_key->hint, strlen(cfg->psk_hint_key->hint)); if (ret != 0) {