[Pcsclite-cvs-commit] r2542 - trunk/PCSC/src

rousseau at alioth.debian.org rousseau at alioth.debian.org
Wed May 23 08:15:36 UTC 2007


Author: rousseau
Date: 2007-05-23 08:15:36 +0000 (Wed, 23 May 2007)
New Revision: 2542

Modified:
   trunk/PCSC/src/winscard_clnt.c
Log:
SCardTransmit(): adjust size of data to send to pcscd.
Avoid a valgrind warnings.


Modified: trunk/PCSC/src/winscard_clnt.c
===================================================================
--- trunk/PCSC/src/winscard_clnt.c	2007-05-23 07:34:42 UTC (rev 2541)
+++ trunk/PCSC/src/winscard_clnt.c	2007-05-23 08:15:36 UTC (rev 2542)
@@ -2739,7 +2739,13 @@
 		scTransmitStructExtended->hCard = hCard;
 		scTransmitStructExtended->cbSendLength = cbSendLength;
 		scTransmitStructExtended->pcbRecvLength = *pcbRecvLength;
-		scTransmitStructExtended->size = sizeof(*scTransmitStructExtended) + cbSendLength;
+		/* The size of data to send is the size of
+		 * struct control_struct_extended WITHOUT the data[] field
+		 * plus the effective data[] size
+		 */
+		scTransmitStructExtended->size = sizeof(*scTransmitStructExtended)
+			- (sizeof(transmit_struct_extended) - offsetof(transmit_struct_extended, data))
+			+ cbSendLength;
 		memcpy(&scTransmitStructExtended->pioSendPci, pioSendPci,
 			sizeof(SCARD_IO_REQUEST));
 		memcpy(scTransmitStructExtended->data, pbSendBuffer, cbSendLength);




More information about the Pcsclite-cvs-commit mailing list