From d7c88780e1df54f34563d60bd7fa01011d2eef03 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期一, 26 一月 2026 23:17:17 +0800
Subject: [PATCH] 1.CSVData.cpp 里 unserialize 用了 8*2、125*2,但 serialize 只写 8 + 125 字节。 m_svRawData.insert 的 end 指针是 pszBuffer + 125*2,没有用 index 计算,可能把无效区域一起拷进去。 一旦 size 实际是 133(不是 266),就会直接越界,堆会被破坏,m_svDatas.clear() 在销毁元素时崩。
---
SourceCode/Bond/Servo/CPageGraph1.cpp | 34 ++--------------------------------
1 files changed, 2 insertions(+), 32 deletions(-)
diff --git a/SourceCode/Bond/Servo/CPageGraph1.cpp b/SourceCode/Bond/Servo/CPageGraph1.cpp
index e68b86e..2ae613e 100644
--- a/SourceCode/Bond/Servo/CPageGraph1.cpp
+++ b/SourceCode/Bond/Servo/CPageGraph1.cpp
@@ -180,7 +180,7 @@
{
CDialogEx::OnInitDialog();
InitRxWindows();
- SetTimer(TIMER_ID_DEVICE_STATUS, 3000, nullptr);
+ SetTimer(TIMER_ID_DEVICE_STATUS, 800, nullptr);
SetTimer(TIMER_ID_ROBOT_STATUS, 1000, nullptr); // 姣� 1000ms 鏇存柊涓�娆$姸鎬�
// 鍥剧ず
@@ -560,37 +560,7 @@
// 绉诲姩鍒版寚瀹氫綅缃� (娴嬭瘯浣跨敤)
if (pGraphNmhdr->dwData == INDICATE_LPORT1) {
- StartRobotMoveToPosition(SERVO::ROBOT_POSITION::Port1);
- }
- else if (pGraphNmhdr->dwData == INDICATE_LPORT2) {
- StartRobotMoveToPosition(SERVO::ROBOT_POSITION::Port2);
- }
- else if (pGraphNmhdr->dwData == INDICATE_LPORT3) {
- StartRobotMoveToPosition(SERVO::ROBOT_POSITION::Port3);
- }
- else if (pGraphNmhdr->dwData == INDICATE_LPORT4) {
- StartRobotMoveToPosition(SERVO::ROBOT_POSITION::Port4);
- }
- else if (pGraphNmhdr->dwData == INDICATE_ALIGNER) {
- StartRobotMoveToPosition(SERVO::ROBOT_POSITION::Aligner);
- }
- else if (pGraphNmhdr->dwData == INDICATE_FLIPER) {
- StartRobotMoveToPosition(SERVO::ROBOT_POSITION::Fliper);
- }
- else if (pGraphNmhdr->dwData == INDICATE_BONDER1) {
- StartRobotMoveToPosition(SERVO::ROBOT_POSITION::Bonder1);
- }
- else if (pGraphNmhdr->dwData == INDICATE_BONDER2) {
- StartRobotMoveToPosition(SERVO::ROBOT_POSITION::Bonder2);
- }
- else if (pGraphNmhdr->dwData == INDICATE_VACUUM_BAKE) {
- StartRobotMoveToPosition(SERVO::ROBOT_POSITION::Bake);
- }
- else if (pGraphNmhdr->dwData == INDICATE_BAKE_COOLING) {
- StartRobotMoveToPosition(SERVO::ROBOT_POSITION::Cooling);
- }
- else if (pGraphNmhdr->dwData == INDICATE_MEASUREMENT) {
- StartRobotMoveToPosition(SERVO::ROBOT_POSITION::Measurement);
+
}
*pResult = 0;
--
Gitblit v1.9.3