wintrust(2/6): Test and correct alloc and free functions in
WintrustLoadFunctionPointers
Juan Lang
juan.lang at gmail.com
Fri Aug 24 17:23:39 CDT 2007
--Juan
-------------- next part --------------
From 7fe017bfb0346c3e83dc53bf284aa826207f2ac5 Mon Sep 17 00:00:00 2001
From: Juan Lang <juan.lang at gmail.com>
Date: Fri, 24 Aug 2007 15:07:41 -0700
Subject: [PATCH] Test and correct alloc and free functions in WintrustLoadFunctionPointers
---
dlls/wintrust/register.c | 14 ++++++++++++--
dlls/wintrust/tests/register.c | 2 ++
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/dlls/wintrust/register.c b/dlls/wintrust/register.c
index d16b186..517359f 100644
--- a/dlls/wintrust/register.c
+++ b/dlls/wintrust/register.c
@@ -812,6 +812,16 @@ error_close_key:
return Func;
}
+static void * WINAPI WINTRUST_Alloc(DWORD cb)
+{
+ return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, cb);
+}
+
+static void WINAPI WINTRUST_Free(void *p)
+{
+ HeapFree(GetProcessHeap(), 0, p);
+}
+
/***********************************************************************
* WintrustLoadFunctionPointers (WINTRUST.@)
*/
@@ -834,8 +844,8 @@ BOOL WINAPI WintrustLoadFunctionPointers
WINTRUST_Guid2Wstr( pgActionID, GuidString);
/* Get the function pointers from the registry, where applicable */
- pPfns->pfnAlloc = NULL;
- pPfns->pfnFree = NULL;
+ pPfns->pfnAlloc = WINTRUST_Alloc;
+ pPfns->pfnFree = WINTRUST_Free;
pPfns->pfnAddStore2Chain = NULL;
pPfns->pfnAddSgnr2Chain = NULL;
pPfns->pfnAddCert2Chain = NULL;
diff --git a/dlls/wintrust/tests/register.c b/dlls/wintrust/tests/register.c
index 6e6ed20..f4aef92 100644
--- a/dlls/wintrust/tests/register.c
+++ b/dlls/wintrust/tests/register.c
@@ -284,6 +284,8 @@ static void test_LoadFunctionPointers(vo
funcs.cbStruct = sizeof(funcs);
ret = pWintrustLoadFunctionPointers(&action, &funcs);
ok(ret, "WintrustLoadFunctionPointers failed: %d\n", GetLastError());
+ ok(funcs.pfnAlloc != NULL, "Expected a pointer\n");
+ ok(funcs.pfnFree != NULL, "Expected a pointer\n");
}
static void test_RegPolicyFlags(void)
--
1.4.1
More information about the wine-patches
mailing list