浏览代码

solve memory leak in monitor & potentially http

Philippe G 4 年之前
父节点
当前提交
ea3c6696e2
共有 2 个文件被更改,包括 3 次插入4 次删除
  1. 1 2
      components/services/monitor.c
  2. 2 2
      components/wifi-manager/http_server_handlers.c

+ 1 - 2
components/services/monitor.c

@@ -134,8 +134,7 @@ static void monitor_callback(TimerHandle_t xTimer) {
 		messaging_post_message(MESSAGING_INFO, MESSAGING_CLASS_STATS,top_a);
 		FREE_AND_NULL(top_a);
 	}
-	cJSON_free(top);
-
+	cJSON_Delete(top);
 }
 
 /****************************************************************************************

+ 2 - 2
components/wifi-manager/http_server_handlers.c

@@ -481,7 +481,7 @@ esp_err_t console_cmd_get_handler(httpd_req_t *req){
 		ESP_LOGD_LOC(TAG,  "Error retrieving command json string. ");
 		httpd_resp_send_err(req, HTTPD_500_INTERNAL_SERVER_ERROR, "Unable to format command");
 	}
-	cJSON_free(cmdlist);
+	cJSON_Delete(cmdlist);
 	ESP_LOGD_LOC(TAG, "done serving [%s]", req->uri);
 	return err;
 }
@@ -1139,7 +1139,7 @@ esp_err_t messages_get_handler(httpd_req_t *req){
 		CHECK_RESET_FREE_MEM_CHECK(before, "after http send");
 		free(json_text);
 		CHECK_RESET_FREE_MEM_CHECK(before, "after free json message");
-		cJSON_free(json_messages);
+		cJSON_Delete(json_messages);
 		CHECK_RESET_FREE_MEM_CHECK(before, "after free json");
 	}
 	else {