From: <jda...@us...> - 2011-10-22 17:22:59
|
Revision: 580 http://pyscard.svn.sourceforge.net/pyscard/?rev=580&view=rev Author: jdaussel Date: 2011-10-22 17:22:52 +0000 (Sat, 22 Oct 2011) Log Message: ----------- Fixed extended APDU issue where receive buffer should be 65536 plus 2 bytes for status words Modified Paths: -------------- trunk/pyscard/src/smartcard/ChangeLog trunk/pyscard/src/smartcard/scard/scard.i Modified: trunk/pyscard/src/smartcard/ChangeLog =================================================================== --- trunk/pyscard/src/smartcard/ChangeLog 2011-10-22 15:13:53 UTC (rev 579) +++ trunk/pyscard/src/smartcard/ChangeLog 2011-10-22 17:22:52 UTC (rev 580) @@ -1,7 +1,9 @@ 1.6.14 (October 2011) =================== * added support for windows 64bit amd64 (Jean-Daniel Aussel) - * support python "new" classes (derive classes from object) (Ludovic Rousseau from chrysn suggestion) + * support python "new" classes (derive classes from object) (Ludovic Rousseau from chrysn feature request ID 3110077) + * fixed Reader.__eq__() (Ludovic Rousseau from Bernard Paulus bug ID 3418113) + * fixed extended APDU transmit buffer too short by 2 (Jean-Daniel Aussel from bugs ID 2914636 and 3106761) 1.6.12 (August 2010) Modified: trunk/pyscard/src/smartcard/scard/scard.i =================================================================== --- trunk/pyscard/src/smartcard/scard/scard.i 2011-10-22 15:13:53 UTC (rev 579) +++ trunk/pyscard/src/smartcard/scard/scard.i 2011-10-22 17:22:52 UTC (rev 580) @@ -190,7 +190,7 @@ #else // !PCSCLITE // SCARD_CTL_CODE defined in WinSmCrd.h included by Win32 winscard.h // MAX_BUFFER_SIZE_EXTENDED is pcsc-lite specific -#define MAX_BUFFER_SIZE_EXTENDED (1<<16) +#define MAX_BUFFER_SIZE_EXTENDED (1<<16)+2 #endif //PCSCLITE #include "pcsctypes.h" @@ -430,8 +430,8 @@ { SCARDRETCODE lRet; - pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char)); - pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED; + pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*2*sizeof(unsigned char)); + pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED+2; lRet = (mySCardControl)( hcard, @@ -452,8 +452,8 @@ { SCARDRETCODE lRet; - pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char)); - pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED; + pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*2*sizeof(unsigned char)); + pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED+2; lRet = (mySCardControl)( hcard, @@ -758,8 +758,8 @@ PSCARD_IO_REQUEST piorequest=NULL; long ret; - pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char)); - pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED; + pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*2*sizeof(unsigned char)); + pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED+2; // keep in sync with redefinition in PcscDefs.i switch(pioSendPci) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |