From: Eric Pouech epouech@codeweavers.com
Signed-off-by: Eric Pouech epouech@codeweavers.com --- dlls/secur32/lsa.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/secur32/lsa.c b/dlls/secur32/lsa.c index 7af9c285d86..3f119df04d0 100644 --- a/dlls/secur32/lsa.c +++ b/dlls/secur32/lsa.c @@ -156,7 +156,8 @@ NTSTATUS WINAPI LsaDeregisterLogonProcess(HANDLE LsaHandle) TRACE("%p\n", LsaHandle);
if (!lsa_conn || lsa_conn->magic != LSA_MAGIC_CONNECTION) return STATUS_INVALID_HANDLE; - lsa_conn->magic = 0; + /* Ensure compiler doesn't optimize out the assignment with 0. */ + SecureZeroMemory(&lsa_conn->magic, sizeof(lsa_conn->magic)); free(lsa_conn);
return STATUS_SUCCESS; @@ -465,7 +466,8 @@ static SECURITY_STATUS WINAPI lsa_FreeCredentialsHandle(CredHandle *credential)
status = lsa_cred->package->lsa_api->FreeCredentialsHandle(lsa_cred->handle);
- lsa_cred->magic = 0; + /* Ensure compiler doesn't optimize out the assignment with 0. */ + SecureZeroMemory(&lsa_cred->magic, sizeof(lsa_cred->magic)); free(lsa_cred); return status; }