Skip to content

Commit 712a0fd

Browse files
Added test function comment describing test. Minor clean-up of test function variables. Fixed spelling/wording in DllMain() function description.
1 parent 3218530 commit 712a0fd

File tree

2 files changed

+20
-18
lines changed

2 files changed

+20
-18
lines changed

src/we_internal.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1464,14 +1464,14 @@ int wolfengine_bind(ENGINE *e, const char *id)
14641464
return ret;
14651465
}
14661466

1467-
#if !defined(WE_SINGLE_THREADED) && defined(_WIN32)
1467+
#if !defined(WE_SINGLE_THREADED) && defined(_WIN32) && defined(HAVE_FIPS_VERSION) && HAVE_FIPS_VERSION == 5
14681468
/**
1469-
* Windows DLL entry point when wolfEngine build as a DLL.
1469+
* Windows DLL entry point when wolfEngine built as a DLL.
14701470
*
14711471
* Called for DLL process or thread events, such as creation (attach).
14721472
*
14731473
* @param hinstDLL [IN] A handle to the DLL module.
1474-
* @param fdwReason [IN] Reason why funciton being called.
1474+
* @param fdwReason [IN] Reason why function being called.
14751475
* @param lpvReserved [IN] Reason-dependent extra data.
14761476
* @returns TRUE always
14771477
*/
@@ -1482,4 +1482,4 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
14821482
}
14831483
return TRUE;
14841484
}
1485-
#endif /* !WE_SINGLE_THREADED && _WIN32 */
1485+
#endif /* !WE_SINGLE_THREADED && _WIN32 && HAVE_FIPS_VERSION && HAVE_FIPS_VERSION 5 */

test/test_dh.c

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -354,43 +354,45 @@ static DWORD WINAPI DhKeyGenThreadFunc(LPVOID arg)
354354
return test_dh_pgen_pkey(vars->e, vars->params);
355355
}
356356

357+
/* Regression test for problem in multi-threaded Windows environment where only
358+
initial thread has private key read access while additionally created
359+
threads do not */
357360
int test_dh_key_gen_multithreaded(ENGINE* e, EVP_PKEY* params)
358361
{
359362
DH_KEYGEN_THREAD_VARS vars;
360-
DH_KEYGEN_THREAD_VARS* pDataArray[1];
361-
DWORD dwThreadIdArray[1];
362-
HANDLE hThreadArray[1];
363-
DWORD threadErr = 0;
363+
HANDLE hThread;
364+
DWORD dwThreadId;
365+
366+
DWORD dwThreadErr = 0;
364367
int err = 0;
365368

366369
vars.e = e;
367370
vars.params = params;
368-
pDataArray[0] = &vars;
369371

370-
hThreadArray[0] = CreateThread(
372+
hThread = CreateThread(
371373
NULL,
372374
0,
373375
DhKeyGenThreadFunc,
374-
pDataArray[0],
376+
&vars,
375377
0,
376-
&dwThreadIdArray[0]);
378+
&dwThreadId);
377379

378-
if (hThreadArray[0] == NULL) {
380+
if (hThread == NULL) {
379381
err = 1;
380382
}
381383

382384
if (err == 0) {
383-
WaitForSingleObject(hThreadArray[0], INFINITE);
384-
if (GetExitCodeThread(hThreadArray[0], &threadErr) == 0) {
385+
WaitForSingleObject(hThread, INFINITE);
386+
if (GetExitCodeThread(hThread, &dwThreadErr) == 0) {
385387
err = 1;
386388
}
387389
else {
388-
err = threadErr;
390+
err = dwThreadErr;
389391
}
390392
}
391393

392-
if (hThreadArray[0] != NULL) {
393-
CloseHandle(hThreadArray[0]);
394+
if (hThread != NULL) {
395+
CloseHandle(hThread);
394396
}
395397

396398
return err;

0 commit comments

Comments
 (0)