[Pcsclite-cvs-commit] r5305 - /trunk/PCSC/src/winscard.c
rousseau at users.alioth.debian.org
rousseau at users.alioth.debian.org
Tue Oct 12 11:44:07 UTC 2010
Author: rousseau
Date: Tue Oct 12 11:44:00 2010
New Revision: 5305
URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=5305
Log:
SCardReconnect(), SCardDisconnect() and SCardEndTransaction(): reset the
value of dwAtrLen before the second call to IFDPowerICC() so that the
driver gets a correct value if the first call to
IFDPowerICC(IFD_POWER_DOWN) set dwAtrLen=0
Thanks to Frank Morgner for the bug report
Closes: [#312754] IFDHPowerICC is called with IFD_POWER_UP and *AtrLength==0
Modified:
trunk/PCSC/src/winscard.c
Modified: trunk/PCSC/src/winscard.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard.c?rev=5305&op=diff
==============================================================================
--- trunk/PCSC/src/winscard.c (original)
+++ trunk/PCSC/src/winscard.c Tue Oct 12 11:44:00 2010
@@ -583,6 +583,7 @@
rv = IFDPowerICC(rContext, IFD_POWER_DOWN,
rContext->readerState->cardAtr,
&dwAtrLen);
+ dwAtrLen = rContext->readerState->cardAtrLength;
rv = IFDPowerICC(rContext, IFD_POWER_UP,
rContext->readerState->cardAtr,
&dwAtrLen);
@@ -854,6 +855,7 @@
rv = IFDPowerICC(rContext, IFD_POWER_DOWN,
rContext->readerState->cardAtr,
&dwAtrLen);
+ dwAtrLen = rContext->readerState->cardAtrLength;
rv = IFDPowerICC(rContext, IFD_POWER_UP,
rContext->readerState->cardAtr,
&dwAtrLen);
@@ -1052,6 +1054,7 @@
rv = IFDPowerICC(rContext, IFD_POWER_DOWN,
rContext->readerState->cardAtr,
&dwAtrLen);
+ dwAtrLen = rContext->readerState->cardAtrLength;
rv = IFDPowerICC(rContext, IFD_POWER_UP,
rContext->readerState->cardAtr,
&dwAtrLen);
More information about the Pcsclite-cvs-commit
mailing list