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/CRobotCmdTestDlg.cpp | 40 +++++++++++++++++++++-------------------
1 files changed, 21 insertions(+), 19 deletions(-)
diff --git a/SourceCode/Bond/Servo/CRobotCmdTestDlg.cpp b/SourceCode/Bond/Servo/CRobotCmdTestDlg.cpp
index 5c92b59..e07c782 100644
--- a/SourceCode/Bond/Servo/CRobotCmdTestDlg.cpp
+++ b/SourceCode/Bond/Servo/CRobotCmdTestDlg.cpp
@@ -112,25 +112,25 @@
// 绀轰緥璁惧鍚嶇О鍒楄〃
CStringList eqNameList;
- eqNameList.AddTail(_T("Port1"));
- eqNameList.AddTail(_T("Port2"));
- eqNameList.AddTail(_T("Port3"));
- eqNameList.AddTail(_T("Port4"));
- eqNameList.AddTail(_T("RB1"));
- eqNameList.AddTail(_T("RB2"));
- eqNameList.AddTail(_T("AL"));
- eqNameList.AddTail(_T("FLIP"));
- eqNameList.AddTail(_T("Bonder1-涓婁骇鍝�"));
- eqNameList.AddTail(_T("Bonder1-涓嬩骇鍝�"));
- eqNameList.AddTail(_T("Bonder2-涓婁骇鍝�"));
- eqNameList.AddTail(_T("Bonder2-涓嬩骇鍝�"));
- eqNameList.AddTail(_T("VacBakeA鑵�"));
- eqNameList.AddTail(_T("VacBakeB鑵�"));
- eqNameList.AddTail(_T("BakecCoolingA鐑樼儰"));
- eqNameList.AddTail(_T("BakecCoolingA鍐峰嵈"));
- eqNameList.AddTail(_T("BakecCoolingB鐑樼儰"));
- eqNameList.AddTail(_T("BakecCoolingB鍐峰嵈"));
- eqNameList.AddTail(_T("Measurement"));
+ eqNameList.AddTail(_T("Port1")); // 1
+ eqNameList.AddTail(_T("Port2")); // 2
+ eqNameList.AddTail(_T("Port3")); // 3
+ eqNameList.AddTail(_T("Port4")); // 4
+ eqNameList.AddTail(_T("RB1")); // 5
+ eqNameList.AddTail(_T("RB2")); // 6
+ eqNameList.AddTail(_T("AL")); // 7
+ eqNameList.AddTail(_T("FLIP")); // 8
+ eqNameList.AddTail(_T("Bonder1-涓婁骇鍝�")); // 9
+ eqNameList.AddTail(_T("Bonder1-涓嬩骇鍝�")); // 10
+ eqNameList.AddTail(_T("Bonder2-涓婁骇鍝�")); // 11
+ eqNameList.AddTail(_T("Bonder2-涓嬩骇鍝�")); // 12
+ eqNameList.AddTail(_T("VacBakeA鑵�")); // 13
+ eqNameList.AddTail(_T("VacBakeB鑵�")); // 14
+ eqNameList.AddTail(_T("BakecCoolingA鐑樼儰")); // 15
+ eqNameList.AddTail(_T("BakecCoolingA鍐峰嵈")); // 16
+ eqNameList.AddTail(_T("BakecCoolingB鐑樼儰")); // 17
+ eqNameList.AddTail(_T("BakecCoolingB鍐峰嵈")); // 18
+ eqNameList.AddTail(_T("Measurement")); // 19
for (POSITION pos = eqNameList.GetHeadPosition(); pos != NULL;) {
CString item = eqNameList.GetNext(pos);
@@ -270,6 +270,8 @@
void CRobotCmdTestDlg::AppendLogLineRichStyled(const CString& content, COLORREF color /*= RGB(0, 0, 0)*/)
{
+ if (!::IsWindow(GetSafeHwnd())) return;
+
// 鏃堕棿鎴�
CString timestamp;
CTime now = CTime::GetCurrentTime();
--
Gitblit v1.9.3