[Pcsclite-cvs-commit] r2564 - trunk/PCSC/src
rousseau at alioth.debian.org
rousseau at alioth.debian.org
Sun Jun 17 16:47:19 UTC 2007
Author: rousseau
Date: 2007-06-17 16:47:19 +0000 (Sun, 17 Jun 2007)
New Revision: 2564
Modified:
trunk/PCSC/src/winscard_msg.c
Log:
patch in revision 2535 was not correct for exteneded APDU. It generated
a buffer overflow.
Modified: trunk/PCSC/src/winscard_msg.c
===================================================================
--- trunk/PCSC/src/winscard_msg.c 2007-06-17 12:10:55 UTC (rev 2563)
+++ trunk/PCSC/src/winscard_msg.c 2007-06-17 16:47:19 UTC (rev 2564)
@@ -433,7 +433,14 @@
|| (SCARD_CONTROL_EXTENDED == command))
{
/* first block */
- memcpy(msgStruct.data, data, size);
+ if (size > sizeof(msgStruct.data))
+ memcpy(msgStruct.data, data, sizeof(msgStruct.data));
+ else
+ {
+ memcpy(msgStruct.data, data, size);
+ memset(msgStruct.data+size, 0, sizeof(msgStruct.data)-size);
+ }
+
ret = SHMMessageSend(&msgStruct, sizeof(msgStruct), dwClientID,
blockAmount);
More information about the Pcsclite-cvs-commit
mailing list