@@ -51,21 +51,24 @@ static std::wstring GetExecutablePath() {
51
51
pgmptr_val, -1 , NULL , 0 );
52
52
if (wide_char_count == 0 ) { // Failure if count is 0
53
53
DWORD conversion_error = GetLastError ();
54
- LogError (LOG_TAG " Invalid executable path. Error: %u" , conversion_error);
54
+ LogError (LOG_TAG " Invalid executable path. Error: %u" ,
55
+ conversion_error);
55
56
return L" " ;
56
57
}
57
58
58
59
std::vector<wchar_t > wide_path_buffer (wide_char_count);
59
60
if (MultiByteToWideChar (CP_ACP, MB_ERR_INVALID_CHARS, pgmptr_val, -1 ,
60
61
wide_path_buffer.data (), wide_char_count) == 0 ) {
61
62
DWORD conversion_error = GetLastError ();
62
- LogError (LOG_TAG " Invalid executable path. Error: %u" , conversion_error);
63
+ LogError (LOG_TAG " Invalid executable path. Error: %u" ,
64
+ conversion_error);
63
65
return L" " ;
64
66
}
65
67
executable_path_str = wide_path_buffer.data ();
66
68
} else {
67
69
// Both _get_wpgmptr and _get_pgmptr failed or returned empty/null
68
- LogError (LOG_TAG " Can't determine executable directory. Errors: %d, %d" , err_w, err_c);
70
+ LogError (LOG_TAG " Can't determine executable directory. Errors: %d, %d" ,
71
+ err_w, err_c);
69
72
return L" " ;
70
73
}
71
74
}
@@ -80,7 +83,8 @@ static std::vector<BYTE> CalculateFileSha256(HANDLE hFile) {
80
83
81
84
if (SetFilePointer (hFile, 0 , NULL , FILE_BEGIN) == INVALID_SET_FILE_POINTER) {
82
85
DWORD dwError = GetLastError ();
83
- LogError (LOG_TAG " CalculateFileSha256.SetFilePointer failed. Error: %u" , dwError);
86
+ LogError (LOG_TAG " CalculateFileSha256.SetFilePointer failed. Error: %u" ,
87
+ dwError);
84
88
return result_hash_value;
85
89
}
86
90
@@ -90,13 +94,16 @@ static std::vector<BYTE> CalculateFileSha256(HANDLE hFile) {
90
94
if (!CryptAcquireContextW (&hProv, NULL , NULL , PROV_RSA_AES,
91
95
CRYPT_VERIFYCONTEXT)) {
92
96
DWORD dwError = GetLastError ();
93
- LogError (LOG_TAG " CalculateFileSha256.CryptAcquireContextW failed. Error: %u" , dwError);
97
+ LogError (LOG_TAG
98
+ " CalculateFileSha256.CryptAcquireContextW failed. Error: %u" ,
99
+ dwError);
94
100
return result_hash_value;
95
101
}
96
102
97
103
if (!CryptCreateHash (hProv, CALG_SHA_256, 0 , 0 , &hHash)) {
98
104
DWORD dwError = GetLastError ();
99
- LogError (LOG_TAG " CalculateFileSha256.CryptCreateHash failed. Error: %u" , dwError);
105
+ LogError (LOG_TAG " CalculateFileSha256.CryptCreateHash failed. Error: %u" ,
106
+ dwError);
100
107
CryptReleaseContext (hProv, 0 );
101
108
return result_hash_value;
102
109
}
@@ -109,7 +116,8 @@ static std::vector<BYTE> CalculateFileSha256(HANDLE hFile) {
109
116
bReadSuccessLoop = ReadFile (hFile, rgbFile, sizeof (rgbFile), &cbRead, NULL );
110
117
if (!bReadSuccessLoop) {
111
118
DWORD dwError = GetLastError ();
112
- LogError (LOG_TAG " CalculateFileSha256.ReadFile failed. Error: %u" , dwError);
119
+ LogError (LOG_TAG " CalculateFileSha256.ReadFile failed. Error: %u" ,
120
+ dwError);
113
121
CryptDestroyHash (hHash);
114
122
CryptReleaseContext (hProv, 0 );
115
123
return result_hash_value;
@@ -119,7 +127,8 @@ static std::vector<BYTE> CalculateFileSha256(HANDLE hFile) {
119
127
}
120
128
if (!CryptHashData (hHash, rgbFile, cbRead, 0 )) {
121
129
DWORD dwError = GetLastError ();
122
- LogError (LOG_TAG " CalculateFileSha256.CryptHashData failed. Error: %u" , dwError);
130
+ LogError (LOG_TAG " CalculateFileSha256.CryptHashData failed. Error: %u" ,
131
+ dwError);
123
132
CryptDestroyHash (hHash);
124
133
CryptReleaseContext (hProv, 0 );
125
134
return result_hash_value;
@@ -131,11 +140,11 @@ static std::vector<BYTE> CalculateFileSha256(HANDLE hFile) {
131
140
if (!CryptGetHashParam (hHash, HP_HASHSIZE, (BYTE*)&cbHashValue, &dwCount,
132
141
0 )) {
133
142
DWORD dwError = GetLastError ();
134
- LogError (
135
- LOG_TAG " CalculateFileSha256.CryptGetHashParam "
136
- " (HP_HASHSIZE) failed. Error: "
137
- " %u" ,
138
- dwError);
143
+ LogError (LOG_TAG
144
+ " CalculateFileSha256.CryptGetHashParam "
145
+ " (HP_HASHSIZE) failed. Error: "
146
+ " %u" ,
147
+ dwError);
139
148
CryptDestroyHash (hHash);
140
149
CryptReleaseContext (hProv, 0 );
141
150
return result_hash_value;
@@ -145,7 +154,10 @@ static std::vector<BYTE> CalculateFileSha256(HANDLE hFile) {
145
154
if (!CryptGetHashParam (hHash, HP_HASHVAL, result_hash_value.data (),
146
155
&cbHashValue, 0 )) {
147
156
DWORD dwError = GetLastError ();
148
- LogError (LOG_TAG " CalculateFileSha256.CryptGetHashParam (HP_HASHVAL) failed. Error: %u" , dwError);
157
+ LogError (
158
+ LOG_TAG
159
+ " CalculateFileSha256.CryptGetHashParam (HP_HASHVAL) failed. Error: %u" ,
160
+ dwError);
149
161
result_hash_value.clear ();
150
162
CryptDestroyHash (hHash);
151
163
CryptReleaseContext (hProv, 0 );
@@ -227,12 +239,13 @@ HMODULE VerifyAndLoadAnalyticsLibrary(
227
239
LogError (LOG_TAG " Hash failed for Analytics DLL." );
228
240
} else {
229
241
if (calculated_hash.size () != expected_hash_size) {
230
- LogError (
231
- LOG_TAG " Hash size mismatch for Analytics DLL. Expected: %zu, Calculated: %zu." , expected_hash_size, calculated_hash.size ());
242
+ LogError (LOG_TAG
243
+ " Hash size mismatch for Analytics DLL. Expected: %zu, "
244
+ " Calculated: %zu." ,
245
+ expected_hash_size, calculated_hash.size ());
232
246
} else if (memcmp (calculated_hash.data (), expected_hash,
233
247
expected_hash_size) != 0 ) {
234
- LogError (
235
- LOG_TAG " Hash mismatch for Analytics DLL." );
248
+ LogError (LOG_TAG " Hash mismatch for Analytics DLL." );
236
249
} else {
237
250
// Load the library. LOAD_LIBRARY_SEARCH_APPLICATION_DIR is a security
238
251
// measure to help ensure that the DLL is loaded from the application's
@@ -244,7 +257,8 @@ HMODULE VerifyAndLoadAnalyticsLibrary(
244
257
LOAD_LIBRARY_SEARCH_APPLICATION_DIR);
245
258
if (hModule == NULL ) {
246
259
DWORD dwError = GetLastError ();
247
- LogError (LOG_TAG " Library load failed for Analytics DLL. Error: %u" , dwError);
260
+ LogError (LOG_TAG " Library load failed for Analytics DLL. Error: %u" ,
261
+ dwError);
248
262
}
249
263
}
250
264
}
0 commit comments