[PATCH v2 7/7] rsaenh: Output FIXME when HMAC hash algorithm is not found.

Paul Gofman wine at gitlab.winehq.org
Mon May 16 12:31:32 CDT 2022


From: Paul Gofman <pgofman at codeweavers.com>

Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
---
 dlls/rsaenh/rsaenh.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/dlls/rsaenh/rsaenh.c b/dlls/rsaenh/rsaenh.c
index 2dcc85cad7b..beac3c7e850 100644
--- a/dlls/rsaenh/rsaenh.c
+++ b/dlls/rsaenh/rsaenh.c
@@ -690,7 +690,13 @@ static inline BOOL init_hash(CRYPTHASH *pCryptHash) {
                 const PROV_ENUMALGS_EX *pAlgInfo;
                 
                 pAlgInfo = get_algid_info(pCryptHash->hProv, pCryptHash->pHMACInfo->HashAlgid);
-                if (!pAlgInfo) return FALSE;
+                if (!pAlgInfo)
+                {
+                    /* A number of hash algorithms (e. g., _SHA256) are supported for HMAC even for providers
+                     * which don't list the algorithm, so print a fixme here. */
+                    FIXME("Hash algroithm %#x not found.\n", pCryptHash->pHMACInfo->HashAlgid);
+                    return FALSE;
+                }
                 pCryptHash->dwHashSize = pAlgInfo->dwDefaultLen >> 3;
                 init_hash_impl(pCryptHash->pHMACInfo->HashAlgid, &pCryptHash->hash_handle);
                 update_hash_impl(pCryptHash->hash_handle,
-- 
GitLab

https://gitlab.winehq.org/wine/wine/-/merge_requests/68



More information about the wine-devel mailing list