Commit 547c16ac548e8e813b6e3812af6a996207d9683b

Authored by Imanol-Mikel Barba Sabariego
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