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/CPanelMaster.cpp | 20 ++++++--------------
1 files changed, 6 insertions(+), 14 deletions(-)
diff --git a/SourceCode/Bond/Servo/CPanelMaster.cpp b/SourceCode/Bond/Servo/CPanelMaster.cpp
index b27ea82..4fd3dbb 100644
--- a/SourceCode/Bond/Servo/CPanelMaster.cpp
+++ b/SourceCode/Bond/Servo/CPanelMaster.cpp
@@ -50,6 +50,11 @@
return m_nPanelWidth;
}
+void CPanelMaster::setPanelWidth(int width)
+{
+ m_nPanelWidth = width;
+}
+
BOOL CPanelMaster::OnInitDialog()
{
CDialogEx::OnInitDialog();
@@ -59,13 +64,6 @@
pLine1->SetBkgndColor(RGB(225, 225, 225));
pLine1->SetLineColor(RGB(198, 198, 198));
pLine1->EnableResize();
-
-
- // 璇诲彇闈㈡澘瀹�
- CString strIniFile;
- strIniFile.Format(_T("%s\\%s.ini"), (LPTSTR)(LPCTSTR)theApp.m_strAppDir, (LPTSTR)(LPCTSTR)theApp.m_strAppFile);
- m_nPanelWidth = GetPrivateProfileInt(_T("App"), _T("MasterPanelWidth"),
- int((double)GetSystemMetrics(SM_CXSCREEN) * 0.25), (LPTSTR)(LPCTSTR)strIniFile);
// treectrl
@@ -118,7 +116,7 @@
pItem->GetWindowRect(&rcItem);
pItem->MoveWindow(12, (rcClient.Height() - rcItem.Height()) / 2, rcClient.Width() - 24, rcItem.Height());
- m_treeCtrl.MoveWindow(5, 5, rcClient.Width() - 13, rcClient.Height() - 10);
+ m_treeCtrl.MoveWindow(5, 5, rcClient.Width() - 8, rcClient.Height() - 10);
}
@@ -132,12 +130,6 @@
m_nPanelWidth = max(m_nPanelWidth, MASTER_PANEL_MIN_WIDTH);
m_nPanelWidth = min(m_nPanelWidth, MASTER_PANEL_MAX_WIDTH);
GetParent()->SendMessage(ID_MSG_PANEL_RESIZE, m_nPanelWidth, 0);
-
- CString strIniFile, strValue;
- strIniFile.Format(_T("%s\\%s.ini"), (LPTSTR)(LPCTSTR)theApp.m_strAppDir, (LPTSTR)(LPCTSTR)theApp.m_strAppFile);
- strValue.Format(_T("%d"), m_nPanelWidth);
- WritePrivateProfileString(_T("App"), _T("MasterPanelWidth"),
- (LPTSTR)(LPCTSTR)strValue, (LPTSTR)(LPCTSTR)strIniFile);
OnSize(0, 0, 0);
* result = 0;
--
Gitblit v1.9.3