优化文件传输的内存泄漏 3283/1 3283/head 3287/target/1
authorCaisking <Casiking@zhihuishixun.com>
Tue, 17 Mar 2026 07:36:55 +0000 (15:36 +0800)
committerCaisking <Casiking@zhihuishixun.com>
Tue, 17 Mar 2026 08:15:18 +0000 (16:15 +0800)
code/sdk/zhihui/services/ble_service/blemoder/bleInstruct.cpp
code/sdk/zhihui/services/ble_service/blemoder/bleinstruct_sample.cpp

index 4af3948..22d82ad 100644 (file)
@@ -893,9 +893,10 @@ char * tar_dir_to_json_buf_malloc_(char* file_name,uint32_t *file_size)
 
                     char *json_format = cJSON_PrintUnformatted(itemJSON);
                  
-                    int pSize = cJSON_GetArraySize(dataJSON);
-                      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"文件数据:%s\r\n",json_format);
+                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"文件数据:%s\r\n",json_format);
+                    cJSON_Delete(itemJSON);
                     cJSON_Delete(dataJSON);
+                    cJSON_Delete(data_arryJSON);
                     file_index++;
 
                     return json_format;
index 839fd53..3399cf2 100644 (file)
@@ -1891,9 +1891,10 @@ char * tar_dir_to_json_buf_malloc_(char* file_name,uint32_t *file_size)
 
                     char *json_format = cJSON_PrintUnformatted(itemJSON);
                  
-                    int pSize = cJSON_GetArraySize(dataJSON);
-                      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"文件数据:%s\r\n",json_format);
+                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"文件数据:%s\r\n",json_format);
+                    cJSON_Delete(itemJSON);
                     cJSON_Delete(dataJSON);
+                    cJSON_Delete(data_arryJSON);
                     file_index++;
 
                     return json_format;
@@ -3602,9 +3603,10 @@ char * tar_dir_to_json_buf_malloc_(char* file_name,uint32_t *file_size)
 
                     char *json_format = cJSON_PrintUnformatted(itemJSON);
                  
-                    int pSize = cJSON_GetArraySize(dataJSON);
-                      WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"文件数据:%s\r\n",json_format);
+                    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"文件数据:%s\r\n",json_format);
+                    cJSON_Delete(itemJSON);
                     cJSON_Delete(dataJSON);
+                    cJSON_Delete(data_arryJSON);
                     file_index++;
 
                     return json_format;
@@ -3626,6 +3628,8 @@ char * tar_dir_to_json_buf_malloc_(char* file_name,uint32_t *file_size)
     {
            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"opendir fail\r\n");
     }
+    cJSON_Delete(dataJSON);
+    cJSON_Delete(data_arryJSON);
     return NULL;
 }