Merge branch 'bugfix/fix-clean-up-in-error-condition-in-http-example' into 'master'

fix(example/http): Fixed potential memory leak/crash in when handling error condition

See merge request espressif/esp-idf!26060
This commit is contained in:
Zim Kalinowski
2023-10-26 18:11:20 +08:00

View File

@@ -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;
} }