Skip to content

Commit 6605ab8

Browse files
committed
NCryptEnumKeys returns ERROR_NO_MORE_ITEMS and is positive error code
IB-8341 Signed-off-by: Raul Metsma <raul@metsma.ee>
1 parent 4cd4e74 commit 6605ab8

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

client/QCNG.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@ using namespace Qt::Literals::StringLiterals;
3030

3131
Q_LOGGING_CATEGORY(CNG, "qdigidoc4.QCNG")
3232

33-
template<typename T, typename D = decltype(NCryptFreeObject)>
33+
template<typename T, auto D = NCryptFreeObject>
3434
struct SCOPE
3535
{
3636
T d {};
37-
~SCOPE() { if(d) D(d); }
38-
constexpr operator T() const { return d; }
39-
constexpr T* operator&() { return &d; }
37+
~SCOPE() noexcept { if(d) D(d); }
38+
constexpr operator T() const noexcept { return d; }
39+
constexpr T* operator&() noexcept { return &d; }
4040
};
4141

4242
class QCNG::Private
@@ -206,9 +206,9 @@ QList<TokenData> QCNG::tokens() const
206206
PVOID pos {};
207207
BCRYPT_PSS_PADDING_INFO rsaPSS { NCRYPT_SHA256_ALGORITHM, 32 };
208208
DWORD size {};
209-
while(SUCCEEDED(NCryptEnumKeys(h, reader.isEmpty() ? nullptr : LPCWSTR(scope.utf16()), &keyname, &pos, NCRYPT_SILENT_FLAG)))
209+
while(NCryptEnumKeys(h, reader.isEmpty() ? nullptr : LPCWSTR(scope.utf16()), &keyname, &pos, NCRYPT_SILENT_FLAG) == ERROR_SUCCESS)
210210
{
211-
SCOPE<NCryptKeyName*,decltype(NCryptFreeBuffer)> keyname_scope{keyname};
211+
SCOPE<NCryptKeyName*,NCryptFreeBuffer> keyname_scope{keyname};
212212
SCOPE<NCRYPT_KEY_HANDLE> key;
213213
err = NCryptOpenKey(h, &key, keyname->pszName, keyname->dwLegacyKeySpec, NCRYPT_SILENT_FLAG);
214214
SslCertificate cert(prop(key, NCRYPT_CERTIFICATE_PROPERTY), QSsl::Der);
@@ -248,7 +248,7 @@ QList<TokenData> QCNG::tokens() const
248248

249249
qCWarning(CNG) << "Start enumerationg providers";
250250
DWORD count {};
251-
SCOPE<NCryptProviderName*,decltype(NCryptFreeBuffer)> providers {};
251+
SCOPE<NCryptProviderName*,NCryptFreeBuffer> providers {};
252252
NCryptEnumStorageProviders(&count, &providers, NCRYPT_SILENT_FLAG);
253253
for(DWORD i {}; i < count; ++i)
254254
{

0 commit comments

Comments
 (0)