From 08424758766a5336a548ce1e7e791398933c6522 Mon Sep 17 00:00:00 2001 From: erbth Date: Thu, 12 Jun 2014 17:19:08 +0200 Subject: [PATCH] fixed getstatuschangeW rdp-return value in case of failure --- channels/smartcard/client/smartcard_operations.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/channels/smartcard/client/smartcard_operations.c b/channels/smartcard/client/smartcard_operations.c index 13ded0b..0e9fad2 100644 --- a/channels/smartcard/client/smartcard_operations.c +++ b/channels/smartcard/client/smartcard_operations.c @@ -454,8 +454,9 @@ static UINT32 smartcard_GetStatusChangeW_Call(SMARTCARD_DEVICE* smartcard, SMART status = ret.ReturnCode = SCardGetStatusChangeW(operation->hContext, call->dwTimeOut, call->rgReaderStates, call->cReaders); - if (status && (status != SCARD_E_TIMEOUT) && (status != SCARD_E_CANCELLED)) - return status; + if (status && (status != SCARD_E_TIMEOUT) && (status != SCARD_E_CANCELLED)){ + call->cReaders=0; + } ret.cReaders = call->cReaders; ret.rgReaderStates = (ReaderState_Return*) calloc(ret.cReaders, sizeof(ReaderState_Return)); -- 2.7.4