esp-tls: Fix memory leak in mbedtls ds peripheral when MBEDTLS_THREADING_C enabled

This commit is contained in:
yuanjianmin
2022-10-12 17:16:05 +08:00
parent 9e863ecdb8
commit 4848e11ac6

View File

@ -757,14 +757,17 @@ static esp_err_t esp_mbedtls_init_pk_ctx_for_ds(const void *pki)
if ((ret = mbedtls_pk_setup_rsa_alt(((const esp_tls_pki_t*)pki)->pk_key, &rsakey, NULL, esp_ds_rsa_sign,
esp_ds_get_keylen )) != 0) {
ESP_LOGE(TAG, "Error in mbedtls_pk_setup_rsa_alt, returned %02x", ret);
return ESP_FAIL;
ret = ESP_FAIL;
goto exit;
}
ret = esp_ds_init_data_ctx(((const esp_tls_pki_t*)pki)->esp_ds_data);
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to initialize DS parameters from nvs");
return ESP_FAIL;
goto exit;
}
ESP_LOGD(TAG, "DS peripheral params initialized.");
return ESP_OK;
exit:
mbedtls_rsa_free(&rsakey);
return ret;
}
#endif /* CONFIG_ESP_TLS_USE_DS_PERIPHERAL */