Fix #266: CloseHandle close an invalid handle

This commit is contained in:
yuanyuanxiang
2025-12-26 15:57:27 +01:00
parent 02d86f6ce7
commit 34e7cdb663
33 changed files with 171 additions and 161 deletions

View File

@@ -213,8 +213,8 @@ bool CFileManager::OpenFile(LPCTSTR lpFile, INT nShowCmd)
si.lpDesktop = "WinSta0\\Default";
CreateProcess(NULL, strTemp, NULL, NULL, false, 0, NULL, NULL, &si, &pi);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
SAFE_CLOSE_HANDLE(pi.hProcess);
SAFE_CLOSE_HANDLE(pi.hThread);
return true;
}
@@ -395,7 +395,7 @@ UINT CFileManager::SendFileSize(LPCTSTR lpszFileName)
if (hFile == INVALID_HANDLE_VALUE)
return FALSE;
dwSizeLow = GetFileSize(hFile, &dwSizeHigh);
CloseHandle(hFile);
SAFE_CLOSE_HANDLE(hFile);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
int nPacketSize = lstrlen(lpszFileName) + 10;
BYTE *bPacket = (BYTE *)LocalAlloc(LPTR, nPacketSize);
@@ -447,7 +447,7 @@ UINT CFileManager::SendFileData(LPBYTE lpBuffer)
lpPacket[0] = TOKEN_FILE_DATA;
memcpy(lpPacket + 1, pFileSize, sizeof(FILESIZE));
ReadFile(hFile, lpPacket + nHeadLength, nNumberOfBytesToRead, &nNumberOfBytesRead, NULL);
CloseHandle(hFile);
SAFE_CLOSE_HANDLE(hFile);
if (nNumberOfBytesRead > 0) {
int nPacketSize = nNumberOfBytesRead + nHeadLength;
@@ -644,7 +644,7 @@ void CFileManager::GetFileData()
m_nCurrentProcessFileLength = 0;
return;
}
CloseHandle(hFile);
SAFE_CLOSE_HANDLE(hFile);
Send(bToken, sizeof(bToken));
}
@@ -692,7 +692,7 @@ void CFileManager::WriteLocalRecvFile(LPBYTE lpBuffer, UINT nSize)
&dwBytesWrite,
NULL
);
CloseHandle(hFile);
SAFE_CLOSE_HANDLE(hFile);
// Ϊ<>˱Ƚϣ<C8BD><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BYTE bToken[9];
bToken[0] = TOKEN_DATA_CONTINUE;