Commit 9b19a110 authored by Rémi Bernon's avatar Rémi Bernon Committed by Alexandre Julliard

dssenh: Only fill hash buffer when it's provided.

parent cf770571
......@@ -940,7 +940,7 @@ BOOL WINAPI CPGetHashParam( HCRYPTPROV hprov, HCRYPTHASH hhash, DWORD param, BYT
SetLastError( ERROR_MORE_DATA );
return FALSE;
}
memcpy( data, hash->value, hash->len );
if (data) memcpy( data, hash->value, hash->len );
*len = hash->len;
return TRUE;
......
......@@ -472,9 +472,16 @@ static void test_hash(const struct hash_test *tests, int testLen)
ok(result && (hashLen == tests[i].hashLen), "Expected %d hash len, got %d.Error: %x\n",
tests[i].hashLen, hashLen, GetLastError());
dataLen = 0xdeadbeef;
result = CryptGetHashParam(hHash, HP_HASHVAL, 0, &dataLen, 0);
ok(result, "Expected hash value return.\n");
ok(dataLen == hashLen, "Expected hash length to match.\n");
hashLen = 0xdeadbeef;
result = CryptGetHashParam(hHash, HP_HASHVAL, hashValue, &hashLen, 0);
ok(result, "Expected hash value return.\n");
ok(dataLen == hashLen, "Expected hash length to match.\n");
ok(!memcmp(hashValue, tests[i].hash, tests[i].hashLen), "Incorrect hash output.\n");
result = CryptHashData(hHash, data, dataLen, 0);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment