[PATCH 0/1] MR4334: winscard: Use SecureZeroMemory() to clear magic fields.
Signed-off-by: Eric Pouech <epouech(a)codeweavers.com> -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4334
From: Eric Pouech <epouech(a)codeweavers.com> Signed-off-by: Eric Pouech <epouech(a)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 ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/4334
participants (2)
-
Eric Pouech -
eric pouech (@epo)