Kai Blin : secur32: Get rid of some HeapAlloc()
calls to make code more readable.
Alexandre Julliard
julliard at wine.codeweavers.com
Sat Nov 4 13:32:35 CST 2006
Module: wine
Branch: master
Commit: e1bfe4c18a403c7b2834f2be89ff8dbfc07368a1
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e1bfe4c18a403c7b2834f2be89ff8dbfc07368a1
Author: Kai Blin <kai.blin at gmail.com>
Date: Sat Nov 4 02:51:38 2006 +0100
secur32: Get rid of some HeapAlloc() calls to make code more readable.
---
dlls/secur32/tests/ntlm.c | 78 +++++++++++++++------------------------------
1 files changed, 26 insertions(+), 52 deletions(-)
diff --git a/dlls/secur32/tests/ntlm.c b/dlls/secur32/tests/ntlm.c
index 8d18d70..b189685 100644
--- a/dlls/secur32/tests/ntlm.c
+++ b/dlls/secur32/tests/ntlm.c
@@ -673,8 +673,8 @@ static void testSignSeal()
SspiData client, server;
SEC_WINNT_AUTH_IDENTITY id;
static char sec_pkg_name[] = "NTLM";
- PSecBufferDesc crypt = NULL;
- PSecBuffer data = NULL, fake_data = NULL;
+ SecBufferDesc crypt;
+ SecBuffer data[2], fake_data[2];
ULONG qop = 0;
SecPkgContext_Sizes ctxt_sizes;
@@ -731,22 +731,10 @@ static void testSignSeal()
goto end;
}
- if((crypt = HeapAlloc(GetProcessHeap(), 0, sizeof(SecBufferDesc))) == NULL)
- {
- trace("Failed to allocate the crypto buffer, aborting test.\n");
- goto end;
- }
+ crypt.ulVersion = SECBUFFER_VERSION;
+ crypt.cBuffers = 2;
- crypt->ulVersion = SECBUFFER_VERSION;
- crypt->cBuffers = 2;
-
- if((fake_data = HeapAlloc(GetProcessHeap(), 0, sizeof(SecBuffer) * 2)) == NULL)
- {
- trace("Failed to allocate the fake crypto buffer, aborting test.\n");
- goto end;
- }
-
- crypt->pBuffers = fake_data;
+ crypt.pBuffers = fake_data;
fake_data[0].BufferType = SECBUFFER_DATA;
fake_data[0].cbBuffer = ctxt_sizes.cbSecurityTrailer;
@@ -756,19 +744,12 @@ static void testSignSeal()
fake_data[1].cbBuffer = lstrlen(message);
fake_data[1].pvBuffer = HeapAlloc(GetProcessHeap(), 0, fake_data[1].cbBuffer);
- sec_status = pMakeSignature(client.ctxt, 0, crypt, 0);
- ok(sec_status == SEC_E_INVALID_TOKEN,
+ sec_status = pMakeSignature(client.ctxt, 0, &crypt, 0);
+ ok(sec_status == SEC_E_INVALID_TOKEN,
"MakeSignature returned %s, not SEC_E_INVALID_TOKEN.\n",
getSecError(sec_status));
-
- if((data = HeapAlloc(GetProcessHeap(), 0, sizeof(SecBuffer) * 2)) == NULL)
- {
- trace("Failed to allocate the crypto buffer, aborting test.\n");
- goto end;
- }
-
- crypt->pBuffers = data;
+ crypt.pBuffers = data;
data[0].BufferType = SECBUFFER_TOKEN;
data[0].cbBuffer = ctxt_sizes.cbSecurityTrailer;
@@ -783,47 +764,47 @@ static void testSignSeal()
* we should get the same signature for our data, no matter if
* it is sent by the client or the server
*/
- sec_status = pMakeSignature(client.ctxt, 0, crypt, 0);
+ sec_status = pMakeSignature(client.ctxt, 0, &crypt, 0);
ok(sec_status == SEC_E_OK, "MakeSignature returned %s, not SEC_E_OK.\n",
getSecError(sec_status));
- ok(!memcmp(crypt->pBuffers[0].pvBuffer, message_signature,
- crypt->pBuffers[0].cbBuffer), "Signature is not as expected.\n");
+ ok(!memcmp(crypt.pBuffers[0].pvBuffer, message_signature,
+ crypt.pBuffers[0].cbBuffer), "Signature is not as expected.\n");
data[0].cbBuffer = sizeof(message_signature);
memcpy(data[0].pvBuffer, crypt_trailer_client, data[0].cbBuffer);
- sec_status = pVerifySignature(client.ctxt, crypt, 0, &qop);
+ sec_status = pVerifySignature(client.ctxt, &crypt, 0, &qop);
ok(sec_status == SEC_E_MESSAGE_ALTERED,
"VerifySignature returned %s, not SEC_E_MESSAGE_ALTERED.\n",
getSecError(sec_status));
memcpy(data[0].pvBuffer, message_signature, data[0].cbBuffer);
- sec_status = pVerifySignature(client.ctxt, crypt, 0, &qop);
+ sec_status = pVerifySignature(client.ctxt, &crypt, 0, &qop);
ok(sec_status == SEC_E_OK, "VerifySignature returned %s, not SEC_E_OK.\n",
getSecError(sec_status));
- sec_status = pEncryptMessage(client.ctxt, 0, crypt, 0);
+ sec_status = pEncryptMessage(client.ctxt, 0, &crypt, 0);
ok(sec_status == SEC_E_OK, "EncryptMessage returned %s, not SEC_E_OK.\n",
getSecError(sec_status));
- ok(!memcmp(crypt->pBuffers[0].pvBuffer, crypt_trailer_client,
- crypt->pBuffers[0].cbBuffer), "Crypt trailer not as expected.\n");
- ok(!memcmp(crypt->pBuffers[1].pvBuffer, crypt_message_client,
- crypt->pBuffers[1].cbBuffer), "Crypt message not as expected.\n");
+ ok(!memcmp(crypt.pBuffers[0].pvBuffer, crypt_trailer_client,
+ crypt.pBuffers[0].cbBuffer), "Crypt trailer not as expected.\n");
+ ok(!memcmp(crypt.pBuffers[1].pvBuffer, crypt_message_client,
+ crypt.pBuffers[1].cbBuffer), "Crypt message not as expected.\n");
data[0].cbBuffer = sizeof(crypt_trailer_server);
data[1].cbBuffer = sizeof(crypt_message_server);
memcpy(data[0].pvBuffer, crypt_trailer_server, data[0].cbBuffer);
memcpy(data[1].pvBuffer, crypt_message_server, data[1].cbBuffer);
- sec_status = pDecryptMessage(client.ctxt, crypt, 0, &qop);
+ sec_status = pDecryptMessage(client.ctxt, &crypt, 0, &qop);
ok(sec_status == SEC_E_OK, "DecryptMessage returned %s, not SEC_E_OK.\n",
getSecError(sec_status));
- ok(!memcmp(crypt->pBuffers[1].pvBuffer, message_binary,
- crypt->pBuffers[1].cbBuffer),
+ ok(!memcmp(crypt.pBuffers[1].pvBuffer, message_binary,
+ crypt.pBuffers[1].cbBuffer),
"Failed to decrypt message correctly.\n");
end:
@@ -832,18 +813,11 @@ end:
pDeleteSecurityContext(client.ctxt);
pFreeCredentialsHandle(client.cred);
- if(fake_data)
- {
- HeapFree(GetProcessHeap(), 0, fake_data[0].pvBuffer);
- HeapFree(GetProcessHeap(), 0, fake_data[1].pvBuffer);
- }
- if(data)
- {
- HeapFree(GetProcessHeap(), 0, data[0].pvBuffer);
- HeapFree(GetProcessHeap(), 0, data[1].pvBuffer);
- }
- HeapFree(GetProcessHeap(), 0, data);
- HeapFree(GetProcessHeap(), 0, crypt);
+
+ HeapFree(GetProcessHeap(), 0, fake_data[0].pvBuffer);
+ HeapFree(GetProcessHeap(), 0, fake_data[1].pvBuffer);
+ HeapFree(GetProcessHeap(), 0, data[0].pvBuffer);
+ HeapFree(GetProcessHeap(), 0, data[1].pvBuffer);
}
else
{
More information about the wine-cvs
mailing list