diff options
author | Ladislav Zezula <ladislav.zezula@avast.com> | 2023-01-20 20:56:04 +0100 |
---|---|---|
committer | Ladislav Zezula <ladislav.zezula@avast.com> | 2023-01-20 20:56:04 +0100 |
commit | 128a7e12e2bf24b56c9db19dee681f0c3eb056d0 (patch) | |
tree | 1102e4da5860c44f86bfb4d4cf68ac92a18dfd52 /src/SFileVerify.cpp | |
parent | 9a9a2ebc29ba8e54e0ca665279a212f7477bbe5d (diff) |
Signature tests unified
Diffstat (limited to 'src/SFileVerify.cpp')
-rw-r--r-- | src/SFileVerify.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/SFileVerify.cpp b/src/SFileVerify.cpp index 4465562..4c8c181 100644 --- a/src/SFileVerify.cpp +++ b/src/SFileVerify.cpp @@ -731,6 +731,10 @@ bool QueryMpqSignatureInfo( // Make sure it's all zeroed
memset(pSI, 0, sizeof(MPQ_SIGNATURE_INFO));
+ // Flush the archive, if it was modified
+ if(ha->dwFlags & MPQ_FLAG_CHANGED)
+ SFileFlushArchive((HANDLE)(ha));
+
// Calculate the range of the MPQ
CalculateArchiveRange(ha, pSI);
@@ -822,7 +826,7 @@ DWORD SSignFileCreate(TMPQArchive * ha) DWORD SSignFileFinish(TMPQArchive * ha)
{
- MPQ_SIGNATURE_INFO si;
+ MPQ_SIGNATURE_INFO si = {0};
unsigned long signature_len = MPQ_WEAK_SIGNATURE_SIZE;
BYTE WeakSignature[MPQ_SIGNATURE_FILE_SIZE];
BYTE Md5Digest[MD5_DIGEST_SIZE];
@@ -834,7 +838,6 @@ DWORD SSignFileFinish(TMPQArchive * ha) assert(ha->dwFileFlags3 == MPQ_FILE_EXISTS);
// Query the weak signature info
- memset(&si, 0, sizeof(MPQ_SIGNATURE_INFO));
if(!QueryMpqSignatureInfo(ha, &si))
return ERROR_FILE_CORRUPT;
@@ -978,19 +981,14 @@ DWORD WINAPI SFileVerifyRawData(HANDLE hMpq, DWORD dwWhatToVerify, const char * // Verifies the archive against the signature
DWORD WINAPI SFileVerifyArchive(HANDLE hMpq)
{
- MPQ_SIGNATURE_INFO si;
+ MPQ_SIGNATURE_INFO si = {0};
TMPQArchive * ha = (TMPQArchive *)hMpq;
// Verify input parameters
if(!IsValidMpqHandle(hMpq))
return ERROR_VERIFY_FAILED;
- // If the archive was modified, we need to flush it
- if(ha->dwFlags & MPQ_FLAG_CHANGED)
- SFileFlushArchive(hMpq);
-
// Get the MPQ signature and signature type
- memset(&si, 0, sizeof(MPQ_SIGNATURE_INFO));
if(!QueryMpqSignatureInfo(ha, &si))
return ERROR_VERIFY_FAILED;
|