fix phy init memory leak

This commit is contained in:
ronghulin 2021-03-02 20:04:05 +08:00 committed by zhangyanjiao
parent 28a340af37
commit f70ac4e529

View File

@ -514,6 +514,7 @@ const esp_phy_init_data_t* esp_phy_get_init_data(void)
PHY_INIT_MAGIC, sizeof(phy_init_magic_post)) != 0) {
#ifndef CONFIG_ESP32_PHY_DEFAULT_INIT_IF_INVALID
ESP_LOGE(TAG, "failed to validate PHY data partition");
free(init_data_store);
return NULL;
#else
ESP_LOGE(TAG, "failed to validate PHY data partition, restoring default data into flash...");
@ -1013,17 +1014,18 @@ esp_err_t esp_phy_update_country_info(const char *country)
{
#if CONFIG_ESP32_SUPPORT_MULTIPLE_PHY_INIT_DATA_BIN
uint8_t phy_init_data_type_map = 0;
//if country equal s_phy_current_country, return;
if (!s_multiple_phy_init_data_bin) {
ESP_LOGD(TAG, "Does not support multiple PHY init data bins");
return ESP_FAIL;
}
//if country equal s_phy_current_country, return;
if (!memcmp(country, s_phy_current_country, sizeof(s_phy_current_country))) {
return ESP_OK;
}
memcpy(s_phy_current_country, country, sizeof(s_phy_current_country));
if (!s_multiple_phy_init_data_bin) {
ESP_LOGD(TAG, "Does not support multiple PHY init data bins");
return ESP_FAIL;
}
phy_init_data_type_map = phy_find_bin_type_according_country(country);
if (phy_init_data_type_map == s_phy_init_data_type) {