From 34c7287371323626ab5f39565f51aad5ed961af5 Mon Sep 17 00:00:00 2001 From: yuanyuanxiang <962914132@qq.com> Date: Tue, 14 Jan 2025 23:59:47 +0800 Subject: [PATCH] fix: #36 Operate clipboard cause program crash --- client/ScreenManager.cpp | 4 ++-- server/2015Remote/ScreenSpyDlg.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client/ScreenManager.cpp b/client/ScreenManager.cpp index 94e2fbd..e059a69 100644 --- a/client/ScreenManager.cpp +++ b/client/ScreenManager.cpp @@ -185,8 +185,8 @@ VOID CScreenManager::UpdateClientClipboard(char *szBuffer, ULONG ulLength) return; memcpy(szClipboardVirtualAddress, szBuffer, ulLength); GlobalUnlock(hGlobal); - SetClipboardData(CF_TEXT, hGlobal); - GlobalFree(hGlobal); + if(NULL==SetClipboardData(CF_TEXT, hGlobal)) + GlobalFree(hGlobal); } CloseClipboard(); } diff --git a/server/2015Remote/ScreenSpyDlg.cpp b/server/2015Remote/ScreenSpyDlg.cpp index 5283123..3d69e1e 100644 --- a/server/2015Remote/ScreenSpyDlg.cpp +++ b/server/2015Remote/ScreenSpyDlg.cpp @@ -497,8 +497,8 @@ VOID CScreenSpyDlg::UpdateServerClipboard(char *szBuffer,ULONG ulLength) char* szClipboardVirtualAddress = (LPTSTR) GlobalLock(hGlobal); memcpy(szClipboardVirtualAddress,szBuffer,ulLength); GlobalUnlock(hGlobal); - SetClipboardData(CF_TEXT, hGlobal); - GlobalFree(hGlobal); + if(NULL==SetClipboardData(CF_TEXT, hGlobal)) + GlobalFree(hGlobal); } CloseClipboard(); }