MCPcopy Create free account
hub / github.com/NtQuery/Scylla / truncateFile

Method truncateFile

Scylla/PeRebuild.cpp:9–46  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7//#define DEBUG_COMMENTS
8
9bool PeRebuild::truncateFile(WCHAR * szFilePath, DWORD dwNewFsize)
10{
11 bool retValue = true;
12 HANDLE hFile = CreateFile(szFilePath,GENERIC_WRITE, FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
13
14 if (hFile == INVALID_HANDLE_VALUE)
15 {
16 return false;
17 }
18
19 if (SetFilePointer(hFile, dwNewFsize, 0, FILE_BEGIN) == INVALID_SET_FILE_POINTER)
20 {
21 if (GetLastError() == NO_ERROR)
22 {
23 retValue = true;
24 }
25 else
26 {
27 retValue = false;
28 }
29 }
30 else
31 {
32 retValue = true;
33 }
34
35 if (!SetEndOfFile(hFile))
36 {
37#ifdef DEBUG_COMMENTS
38 Scylla::debugLog.log(L"SetEndOfFile failed error %d", GetLastError());
39#endif
40 retValue = false;
41 }
42
43 CloseHandle(hFile);
44
45 return retValue;
46}
47
48DWORD PeRebuild::validAlignment(DWORD BadSize)
49{

Callers

nothing calls this directly

Calls 1

logMethod · 0.80

Tested by

no test coverage detected