Windows: clear DeriveKeyWork work item only if they have correct type
This commit is contained in:
parent
2e32adf625
commit
6986dce63e
|
@ -517,9 +517,12 @@ void EncryptionThreadPoolStop ()
|
||||||
for (i = 0; i < sizeof (WorkItemQueue) / sizeof (WorkItemQueue[0]); ++i)
|
for (i = 0; i < sizeof (WorkItemQueue) / sizeof (WorkItemQueue[0]); ++i)
|
||||||
{
|
{
|
||||||
#if !defined(DEVICE_DRIVER)
|
#if !defined(DEVICE_DRIVER)
|
||||||
burn (WorkItemQueue[i].KeyDerivation.Password, sizeof(WorkItemQueue[i].KeyDerivation.Password));
|
if (WorkItemQueue[i].Type == DeriveKeyWork)
|
||||||
burn (WorkItemQueue[i].KeyDerivation.Salt, sizeof(WorkItemQueue[i].KeyDerivation.Salt));
|
{
|
||||||
VirtualUnlock (&WorkItemQueue[i].KeyDerivation, sizeof (WorkItemQueue[i].KeyDerivation));
|
burn (WorkItemQueue[i].KeyDerivation.Password, sizeof(WorkItemQueue[i].KeyDerivation.Password));
|
||||||
|
burn (WorkItemQueue[i].KeyDerivation.Salt, sizeof(WorkItemQueue[i].KeyDerivation.Salt));
|
||||||
|
VirtualUnlock (&WorkItemQueue[i].KeyDerivation, sizeof (WorkItemQueue[i].KeyDerivation));
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
if (WorkItemQueue[i].ItemCompletedEvent)
|
if (WorkItemQueue[i].ItemCompletedEvent)
|
||||||
CloseHandle (WorkItemQueue[i].ItemCompletedEvent);
|
CloseHandle (WorkItemQueue[i].ItemCompletedEvent);
|
||||||
|
|
Loading…
Reference in New Issue