Module: wine Branch: master Commit: c20a0dc6a4540b2733cdfececa7759914e56c218 URL: https://gitlab.winehq.org/wine/wine/-/commit/c20a0dc6a4540b2733cdfececa77599...
Author: Eric Pouech epouech@codeweavers.com Date: Wed Nov 8 09:27:08 2023 +0100
winscard: Use SecureZeroMemory() to clear magic fields.
Signed-off-by: Eric Pouech epouech@codeweavers.com
---
dlls/winscard/winscard.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/winscard/winscard.c b/dlls/winscard/winscard.c index d0c7f412a6c..7e53fba45f6 100644 --- a/dlls/winscard/winscard.c +++ b/dlls/winscard/winscard.c @@ -205,7 +205,8 @@ LONG WINAPI SCardReleaseContext( SCARDCONTEXT context )
params.handle = handle->unix_handle; ret = UNIX_CALL( scard_release_context, ¶ms ); - handle->magic = 0; + /* Ensure compiler doesn't optimize out the assignment with 0. */ + SecureZeroMemory( &handle->magic, sizeof(handle->magic) ); free( handle );
TRACE( "returning %#lx\n", ret ); @@ -794,7 +795,8 @@ LONG WINAPI SCardDisconnect( SCARDHANDLE connect, DWORD disposition ) params.disposition = disposition; if (!(ret = UNIX_CALL( scard_disconnect, ¶ms ))) { - handle->magic = 0; + /* Ensure compiler doesn't optimize out the assignment with 0. */ + SecureZeroMemory( &handle->magic, sizeof(handle->magic) ); free( handle ); } TRACE( "returning %#lx\n", ret );