[Pcsclite-cvs-commit] r5313 - /trunk/PCSC/src/winscard.c
rousseau at users.alioth.debian.org
rousseau at users.alioth.debian.org
Wed Oct 13 15:15:39 UTC 2010
Author: rousseau
Date: Wed Oct 13 15:15:36 2010
New Revision: 5313
URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=5313
Log:
Correctly set dwAtrLen to the sizeof the ATR array before calling
IFDPowerICC().
Some drivers do not write more that dwAtrLen bytes in cardAtr array.
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=5313&op=diff
==============================================================================
--- trunk/PCSC/src/winscard.c (original)
+++ trunk/PCSC/src/winscard.c Wed Oct 13 15:15:36 2010
@@ -573,7 +573,7 @@
/*
* Currently pcsc-lite keeps the card powered constantly
*/
- dwAtrLen = rContext->readerState->cardAtrLength;
+ dwAtrLen = sizeof(rContext->readerState->cardAtr);
if (SCARD_RESET_CARD == dwInitialization)
rv = IFDPowerICC(rContext, IFD_RESET,
rContext->readerState->cardAtr,
@@ -583,7 +583,7 @@
rv = IFDPowerICC(rContext, IFD_POWER_DOWN,
rContext->readerState->cardAtr,
&dwAtrLen);
- dwAtrLen = rContext->readerState->cardAtrLength;
+ dwAtrLen = sizeof(rContext->readerState->cardAtr);
rv = IFDPowerICC(rContext, IFD_POWER_UP,
rContext->readerState->cardAtr,
&dwAtrLen);
@@ -845,7 +845,7 @@
/*
* Currently pcsc-lite keeps the card powered constantly
*/
- dwAtrLen = rContext->readerState->cardAtrLength;
+ dwAtrLen = sizeof(rContext->readerState->cardAtr);
if (SCARD_RESET_CARD == dwDisposition)
rv = IFDPowerICC(rContext, IFD_RESET,
rContext->readerState->cardAtr,
@@ -855,7 +855,7 @@
rv = IFDPowerICC(rContext, IFD_POWER_DOWN,
rContext->readerState->cardAtr,
&dwAtrLen);
- dwAtrLen = rContext->readerState->cardAtrLength;
+ dwAtrLen = sizeof(rContext->readerState->cardAtr);
rv = IFDPowerICC(rContext, IFD_POWER_UP,
rContext->readerState->cardAtr,
&dwAtrLen);
@@ -1044,7 +1044,7 @@
/*
* Currently pcsc-lite keeps the card always powered
*/
- dwAtrLen = rContext->readerState->cardAtrLength;
+ dwAtrLen = sizeof(rContext->readerState->cardAtr);
if (SCARD_RESET_CARD == dwDisposition)
rv = IFDPowerICC(rContext, IFD_RESET,
rContext->readerState->cardAtr,
@@ -1054,7 +1054,7 @@
rv = IFDPowerICC(rContext, IFD_POWER_DOWN,
rContext->readerState->cardAtr,
&dwAtrLen);
- dwAtrLen = rContext->readerState->cardAtrLength;
+ dwAtrLen = sizeof(rContext->readerState->cardAtr);
rv = IFDPowerICC(rContext, IFD_POWER_UP,
rContext->readerState->cardAtr,
&dwAtrLen);
More information about the Pcsclite-cvs-commit
mailing list