Juan Lang : rsaenh: Only set key length on successful retrieval of hash value.
Alexandre Julliard
julliard at winehq.org
Mon Jan 17 10:59:45 CST 2011
Module: wine
Branch: master
Commit: 786c57d323179712bffaecd7da27a528e940048e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=786c57d323179712bffaecd7da27a528e940048e
Author: Juan Lang <juan.lang at gmail.com>
Date: Sun Jan 16 12:01:47 2011 -0800
rsaenh: Only set key length on successful retrieval of hash value.
---
dlls/rsaenh/rsaenh.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/rsaenh/rsaenh.c b/dlls/rsaenh/rsaenh.c
index 50954c5..df83f5a 100644
--- a/dlls/rsaenh/rsaenh.c
+++ b/dlls/rsaenh/rsaenh.c
@@ -4216,6 +4216,7 @@ BOOL WINAPI RSAENH_CPSetHashParam(HCRYPTPROV hProv, HCRYPTHASH hHash, DWORD dwPa
if (pCryptKey->aiAlgid == CALG_HMAC && !pCryptKey->dwKeyLen) {
HCRYPTHASH hKeyHash;
+ DWORD keyLen;
if (!RSAENH_CPCreateHash(hProv, ((PHMAC_INFO)pbData)->HashAlgid, 0, 0,
&hKeyHash))
@@ -4226,13 +4227,14 @@ BOOL WINAPI RSAENH_CPSetHashParam(HCRYPTPROV hProv, HCRYPTHASH hHash, DWORD dwPa
RSAENH_CPDestroyHash(hProv, hKeyHash);
return FALSE;
}
- pCryptKey->dwKeyLen = sizeof(pCryptKey->abKeyValue);
+ keyLen = sizeof(pCryptKey->abKeyValue);
if (!RSAENH_CPGetHashParam(hProv, hKeyHash, HP_HASHVAL, pCryptKey->abKeyValue,
- &pCryptKey->dwKeyLen, 0))
+ &keyLen, 0))
{
RSAENH_CPDestroyHash(hProv, hKeyHash);
return FALSE;
}
+ pCryptKey->dwKeyLen = keyLen;
RSAENH_CPDestroyHash(hProv, hKeyHash);
}
for (i=0; i<RSAENH_MIN(pCryptKey->dwKeyLen,pCryptHash->pHMACInfo->cbInnerString); i++) {
More information about the wine-cvs
mailing list