Fix dead lock in smartcard

when smartcard_GetStatusChangeW_Call is called with infinit timeout during smartcard logon,
    we does not have access to cancel field used by smartcard_call_cancel_context
    We have to use smartcard_call_context_signal_stop which set the event stopEvent
    parsed by smartcard_GetStatusChangeW_Call
This commit is contained in:
David Lechevalier
2026-01-13 10:35:03 +01:00
parent c120c76825
commit 649f7deee4

View File

@@ -227,6 +227,7 @@ void smartcard_context_free(void* pCtx)
/* cancel blocking calls like SCardGetStatusChange */
WINPR_ASSERT(pContext->smartcard);
smartcard_call_cancel_context(pContext->smartcard->callctx, pContext->hContext);
smartcard_call_context_signal_stop(pContext->smartcard->callctx, FALSE);
if (pContext->IrpQueue)
{