AI组合数据包增加异常处理 1688/1 1688/head 1689/target/1
authorhcj <1224667075@qq.com>
Thu, 6 Mar 2025 04:25:58 +0000 (12:25 +0800)
committerhcj <1224667075@qq.com>
Thu, 6 Mar 2025 04:25:58 +0000 (12:25 +0800)
code/sdk/application/wearable/service/ble_service/bleservice/bleService.c

index 012e136..b8e760e 100644 (file)
@@ -2351,6 +2351,7 @@ static void blesrvAi_send_service_task(void const *arg)
             fwrite(fp,1,mail.msg_len,mail.msg_data);\r
         #endif\r
         // if(get_ble_connect())\r
+        if(mail.msg_data && mail.msg_len!=0)\r
         send_Ai_record(mail.msg_len,mail.msg_data);\r
         \r
         if(mail.msg_data)\r
@@ -2457,23 +2458,27 @@ int send_msg_data_into_Ai_msg_queue(void *buff,uint16_t len,uint8_t type)
 \r
              blesrv_custom_cmd_t blesrv_mail_end={0};\r
 \r
-            blesrv_mail_end.msg_len=g_blesrv_mail.msg_len;\r
-            blesrv_mail_end.msg_data=malloc(g_blesrv_mail.msg_len);\r
-            if(blesrv_mail_end.msg_data==NULL)\r
+            if(g_blesrv_mail.msg_len!=0 && g_blesrv_mail.msg_data!=NULL)\r
             {\r
-                return  ERRCODE_FAIL;\r
-            }\r
+                blesrv_mail_end.msg_len=g_blesrv_mail.msg_len;\r
+                blesrv_mail_end.msg_data=malloc(g_blesrv_mail.msg_len);\r
+                if(blesrv_mail_end.msg_data==NULL)\r
+                {\r
+                    return  ERRCODE_FAIL;\r
+                }\r
 \r
-            memcpy_s( blesrv_mail_end.msg_data,singlebuflen,g_blesrv_mail.msg_data,g_blesrv_mail.msg_len);\r
-            free(g_blesrv_mail.msg_data);\r
-            g_blesrv_mail.msg_data=NULL;\r
-            g_blesrv_mail.msg_len=0;\r
+                memcpy_s( blesrv_mail_end.msg_data,singlebuflen,g_blesrv_mail.msg_data,g_blesrv_mail.msg_len);\r
+                free(g_blesrv_mail.msg_data);\r
+                g_blesrv_mail.msg_data=NULL;\r
+                g_blesrv_mail.msg_len=0;\r
 \r
-            ret  = osal_msg_queue_write_copy(g_ble_Ai_record_queue, (void *)&blesrv_mail_end, sendlen , 0);\r
-            if (ret != OSAL_SUCCESS)\r
-            {\r
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"len<=singlebuflen Error blesrv Check send failed! err=0x%X %d! \r\n", ret,send_msg_data_into_Ai_msg_queue_count);\r
+                ret  = osal_msg_queue_write_copy(g_ble_Ai_record_queue, (void *)&blesrv_mail_end, sendlen , 0);\r
+                if (ret != OSAL_SUCCESS)\r
+                {\r
+                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"len<=singlebuflen Error blesrv Check send failed! err=0x%X %d! \r\n", ret,send_msg_data_into_Ai_msg_queue_count);\r
+                }\r
             }\r
+           \r
 \r
             blesrv_mail.service_handle = 0;\r
             blesrv_mail.msg_len = len;\r
@@ -2554,9 +2559,13 @@ int send_msg_data_into_Ai_msg_queue(void *buff,uint16_t len,uint8_t type)
             {\r
                 return  ERRCODE_FAIL;\r
             }\r
-            memcpy_s( blesrv_mail.msg_data,singlebuflen,g_blesrv_mail.msg_data,g_blesrv_mail.msg_len);\r
-            free(g_blesrv_mail.msg_data);\r
+            if(g_blesrv_mail.msg_len!=0 && g_blesrv_mail.msg_data!=NULL)\r
+            {\r
+                memcpy_s( blesrv_mail.msg_data,singlebuflen,g_blesrv_mail.msg_data,g_blesrv_mail.msg_len);\r
+                free(g_blesrv_mail.msg_data);\r
+            }\r
 \r
+        \r
             g_blesrv_mail.msg_len=len;\r
             g_blesrv_mail.msg_data=malloc(len);\r
             memcpy_s( blesrv_mail.msg_data,singlebuflen,buff,len);\r