kopia lustrzana https://github.com/espressif/esp-idf
fix(example/http): Fixed potential memory leak/crash in when handling error condition
rodzic
fd26abebce
commit
d63f83d279
|
@ -54,14 +54,15 @@ static esp_err_t obtain_time(void)
|
||||||
|
|
||||||
esp_err_t fetch_and_store_time_in_nvs(void *args)
|
esp_err_t fetch_and_store_time_in_nvs(void *args)
|
||||||
{
|
{
|
||||||
|
nvs_handle_t my_handle = 0;
|
||||||
|
esp_err_t err;
|
||||||
|
|
||||||
initialize_sntp();
|
initialize_sntp();
|
||||||
if (obtain_time() != ESP_OK) {
|
if (obtain_time() != ESP_OK) {
|
||||||
return ESP_FAIL;
|
err = ESP_FAIL;
|
||||||
|
goto exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
nvs_handle_t my_handle;
|
|
||||||
esp_err_t err;
|
|
||||||
|
|
||||||
time_t now;
|
time_t now;
|
||||||
time(&now);
|
time(&now);
|
||||||
|
|
||||||
|
@ -82,10 +83,12 @@ esp_err_t fetch_and_store_time_in_nvs(void *args)
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exit:
|
||||||
|
if (my_handle != 0) {
|
||||||
nvs_close(my_handle);
|
nvs_close(my_handle);
|
||||||
|
}
|
||||||
esp_netif_deinit();
|
esp_netif_deinit();
|
||||||
|
|
||||||
exit:
|
|
||||||
if (err != ESP_OK) {
|
if (err != ESP_OK) {
|
||||||
ESP_LOGE(TAG, "Error updating time in nvs");
|
ESP_LOGE(TAG, "Error updating time in nvs");
|
||||||
} else {
|
} else {
|
||||||
|
@ -96,7 +99,7 @@ exit:
|
||||||
|
|
||||||
esp_err_t update_time_from_nvs(void)
|
esp_err_t update_time_from_nvs(void)
|
||||||
{
|
{
|
||||||
nvs_handle_t my_handle;
|
nvs_handle_t my_handle = 0;
|
||||||
esp_err_t err;
|
esp_err_t err;
|
||||||
|
|
||||||
err = nvs_open(STORAGE_NAMESPACE, NVS_READWRITE, &my_handle);
|
err = nvs_open(STORAGE_NAMESPACE, NVS_READWRITE, &my_handle);
|
||||||
|
@ -122,6 +125,8 @@ esp_err_t update_time_from_nvs(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
|
if (my_handle != 0) {
|
||||||
nvs_close(my_handle);
|
nvs_close(my_handle);
|
||||||
|
}
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue