Signed-off-by: Simon Rozman <simon@rozman.si>
This commit is contained in:
Simon Rozman 2025-01-30 13:49:03 +01:00
parent 892d950f2b
commit 4655738add
2 changed files with 7 additions and 7 deletions

View File

@ -55,7 +55,7 @@ template<class _Ty, class _Ax>
static _Success_(return != 0) BOOL CertGetCertificateContextProperty(_In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwPropId, _Out_ std::vector<_Ty, _Ax> &aData) static _Success_(return != 0) BOOL CertGetCertificateContextProperty(_In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwPropId, _Out_ std::vector<_Ty, _Ax> &aData)
{ {
BYTE buf[WINSTD_STACK_BUFFER_BYTES]; BYTE buf[WINSTD_STACK_BUFFER_BYTES];
DWORD dwSize = WINSTD_STACK_BUFFER_BYTES; DWORD dwSize = _countof(buf);
// Try with the stack buffer first. // Try with the stack buffer first.
if (CertGetCertificateContextProperty(pCertContext, dwPropId, buf, &dwSize)) { if (CertGetCertificateContextProperty(pCertContext, dwPropId, buf, &dwSize)) {
@ -80,7 +80,7 @@ template<class _Ty, class _Ax>
static _Success_(return != 0) BOOL CryptGetHashParam(_In_ HCRYPTHASH hHash, _In_ DWORD dwParam, _Out_ std::vector<_Ty, _Ax> &aData, _In_ DWORD dwFlags) static _Success_(return != 0) BOOL CryptGetHashParam(_In_ HCRYPTHASH hHash, _In_ DWORD dwParam, _Out_ std::vector<_Ty, _Ax> &aData, _In_ DWORD dwFlags)
{ {
BYTE buf[WINSTD_STACK_BUFFER_BYTES]; BYTE buf[WINSTD_STACK_BUFFER_BYTES];
DWORD dwSize = WINSTD_STACK_BUFFER_BYTES; DWORD dwSize = _countof(buf);
// Try with the stack buffer first. // Try with the stack buffer first.
if (CryptGetHashParam(hHash, dwParam, buf, &dwSize, dwFlags)) { if (CryptGetHashParam(hHash, dwParam, buf, &dwSize, dwFlags)) {
@ -117,7 +117,7 @@ template<class _Ty, class _Ax>
static _Success_(return != 0) BOOL CryptGetKeyParam(_In_ HCRYPTKEY hKey, _In_ DWORD dwParam, _Out_ std::vector<_Ty, _Ax> &aData, _In_ DWORD dwFlags) static _Success_(return != 0) BOOL CryptGetKeyParam(_In_ HCRYPTKEY hKey, _In_ DWORD dwParam, _Out_ std::vector<_Ty, _Ax> &aData, _In_ DWORD dwFlags)
{ {
BYTE buf[WINSTD_STACK_BUFFER_BYTES]; BYTE buf[WINSTD_STACK_BUFFER_BYTES];
DWORD dwSize = WINSTD_STACK_BUFFER_BYTES; DWORD dwSize = _countof(buf);
// Try with the stack buffer first. // Try with the stack buffer first.
if (CryptGetKeyParam(hKey, dwParam, buf, &dwSize, dwFlags)) { if (CryptGetKeyParam(hKey, dwParam, buf, &dwSize, dwFlags)) {

View File

@ -34,7 +34,7 @@ static DWORD GetModuleFileNameA(_In_opt_ HMODULE hModule, _Out_ std::basic_strin
sValue.assign(szStackBuffer, dwResult); sValue.assign(szStackBuffer, dwResult);
return dwResult; return dwResult;
} else { } else {
for (DWORD dwCapacity = 2*WINSTD_STACK_BUFFER_BYTES/sizeof(char);; dwCapacity *= 2) { for (DWORD dwCapacity = 2*_countof(szStackBuffer);; dwCapacity *= 2) {
// Allocate on heap and retry. // Allocate on heap and retry.
sValue.resize(dwCapacity - 1); sValue.resize(dwCapacity - 1);
dwResult = ::GetModuleFileNameA(hModule, &sValue[0], dwCapacity); dwResult = ::GetModuleFileNameA(hModule, &sValue[0], dwCapacity);
@ -63,7 +63,7 @@ static DWORD GetModuleFileNameW(_In_opt_ HMODULE hModule, _Out_ std::basic_strin
sValue.assign(szStackBuffer, dwResult); sValue.assign(szStackBuffer, dwResult);
return dwResult; return dwResult;
} else { } else {
for (DWORD dwCapacity = 2*WINSTD_STACK_BUFFER_BYTES/sizeof(wchar_t);; dwCapacity *= 2) { for (DWORD dwCapacity = 2*_countof(szStackBuffer);; dwCapacity *= 2) {
// Allocate on heap and retry. // Allocate on heap and retry.
sValue.resize(dwCapacity - 1); sValue.resize(dwCapacity - 1);
dwResult = ::GetModuleFileNameW(hModule, &sValue[0], dwCapacity); dwResult = ::GetModuleFileNameW(hModule, &sValue[0], dwCapacity);
@ -951,7 +951,7 @@ static _Success_(return != 0) BOOL QueryFullProcessImageNameA(_In_ HANDLE hProce
sExeName.assign(szStackBuffer, dwSize); sExeName.assign(szStackBuffer, dwSize);
return TRUE; return TRUE;
} }
for (DWORD dwCapacity = 2 * WINSTD_STACK_BUFFER_BYTES / sizeof(char); GetLastError() == ERROR_INSUFFICIENT_BUFFER; dwCapacity *= 2) { for (DWORD dwCapacity = 2 * _countof(szStackBuffer); GetLastError() == ERROR_INSUFFICIENT_BUFFER; dwCapacity *= 2) {
// Allocate on heap and retry. // Allocate on heap and retry.
sExeName.resize(dwCapacity - 1); sExeName.resize(dwCapacity - 1);
dwSize = dwCapacity; dwSize = dwCapacity;
@ -980,7 +980,7 @@ static _Success_(return != 0) BOOL QueryFullProcessImageNameW(_In_ HANDLE hProce
sExeName.assign(szStackBuffer, dwSize); sExeName.assign(szStackBuffer, dwSize);
return TRUE; return TRUE;
} }
for (DWORD dwCapacity = 2 * WINSTD_STACK_BUFFER_BYTES / sizeof(wchar_t); GetLastError() == ERROR_INSUFFICIENT_BUFFER; dwCapacity *= 2) { for (DWORD dwCapacity = 2 * _countof(szStackBuffer); GetLastError() == ERROR_INSUFFICIENT_BUFFER; dwCapacity *= 2) {
// Allocate on heap and retry. // Allocate on heap and retry.
sExeName.resize(dwCapacity - 1); sExeName.resize(dwCapacity - 1);
dwSize = dwCapacity; dwSize = dwCapacity;