Commit 547c16ac548e8e813b6e3812af6a996207d9683b
1 parent
ab99f821
Fixing memory leak
Showing
2 changed files
with
3 additions
and
14 deletions
src/main.cpp
@@ -5,10 +5,6 @@ | @@ -5,10 +5,6 @@ | ||
5 | #include "stock.h" | 5 | #include "stock.h" |
6 | #include "wifi.h" | 6 | #include "wifi.h" |
7 | 7 | ||
8 | -//#include "esp_heap_trace.h" | ||
9 | - | ||
10 | -//static heap_trace_record_t trace_record[200]; | ||
11 | - | ||
12 | esp_err_t init_nvs() { | 8 | esp_err_t init_nvs() { |
13 | esp_err_t ret = nvs_flash_init(); | 9 | esp_err_t ret = nvs_flash_init(); |
14 | if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) { | 10 | if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) { |
@@ -28,7 +24,6 @@ void init() { | @@ -28,7 +24,6 @@ void init() { | ||
28 | 24 | ||
29 | extern "C" void app_main() { | 25 | extern "C" void app_main() { |
30 | // TODO: Get internet with GUEST_WLAN | 26 | // TODO: Get internet with GUEST_WLAN |
31 | - // TODO: Memory leak | ||
32 | 27 | ||
33 | const char* TAG = "app_main"; | 28 | const char* TAG = "app_main"; |
34 | 29 | ||
@@ -42,18 +37,9 @@ extern "C" void app_main() { | @@ -42,18 +37,9 @@ extern "C" void app_main() { | ||
42 | xTaskCreate(fetch_stock_task, "fetch_stock_task", 1024*4, NULL, configMAX_PRIORITIES-1, NULL); | 37 | xTaskCreate(fetch_stock_task, "fetch_stock_task", 1024*4, NULL, configMAX_PRIORITIES-1, NULL); |
43 | 38 | ||
44 | /* | 39 | /* |
45 | - ESP_ERROR_CHECK(heap_trace_init_standalone(trace_record, 200)); | ||
46 | - ESP_ERROR_CHECK(heap_trace_start(HEAP_TRACE_LEAKS)); | ||
47 | - | ||
48 | - int i = 1; | ||
49 | for(;;) { | 40 | for(;;) { |
50 | ESP_LOGI("mem", "Free heap=%lu", esp_get_free_heap_size()); | 41 | ESP_LOGI("mem", "Free heap=%lu", esp_get_free_heap_size()); |
51 | vTaskDelay(60000 / portTICK_PERIOD_MS); | 42 | vTaskDelay(60000 / portTICK_PERIOD_MS); |
52 | - if(--i == 0) { | ||
53 | - ESP_ERROR_CHECK(heap_trace_stop()); | ||
54 | - heap_trace_dump(); | ||
55 | - } | ||
56 | - | ||
57 | } | 43 | } |
58 | */ | 44 | */ |
59 | 45 |
src/stock.cpp
@@ -84,15 +84,18 @@ esp_err_t parse_JSON(const char* json, float* current, float* delta) { | @@ -84,15 +84,18 @@ esp_err_t parse_JSON(const char* json, float* current, float* delta) { | ||
84 | if (cJSON_GetObjectItem(root, "c")) { | 84 | if (cJSON_GetObjectItem(root, "c")) { |
85 | *current = (float)cJSON_GetObjectItem(root,"c")->valuedouble; | 85 | *current = (float)cJSON_GetObjectItem(root,"c")->valuedouble; |
86 | } else { | 86 | } else { |
87 | + cJSON_Delete(root); | ||
87 | return ESP_ERR_NOT_FOUND; | 88 | return ESP_ERR_NOT_FOUND; |
88 | } | 89 | } |
89 | 90 | ||
90 | if (cJSON_GetObjectItem(root, "d")) { | 91 | if (cJSON_GetObjectItem(root, "d")) { |
91 | *delta = (float)cJSON_GetObjectItem(root,"d")->valuedouble; | 92 | *delta = (float)cJSON_GetObjectItem(root,"d")->valuedouble; |
92 | } else { | 93 | } else { |
94 | + cJSON_Delete(root); | ||
93 | return ESP_ERR_NOT_FOUND; | 95 | return ESP_ERR_NOT_FOUND; |
94 | } | 96 | } |
95 | 97 | ||
98 | + cJSON_Delete(root); | ||
96 | return ESP_OK; | 99 | return ESP_OK; |
97 | } | 100 | } |
98 | 101 |