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

pull/12525/head
Zim Kalinowski 2023-10-25 14:43:45 +02:00
rodzic fd26abebce
commit d63f83d279
1 zmienionych plików z 13 dodań i 8 usunięć

Wyświetl plik

@ -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;
} }
nvs_close(my_handle); exit:
if (my_handle != 0) {
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:
nvs_close(my_handle); if (my_handle != 0) {
nvs_close(my_handle);
}
return err; return err;
} }