[Pcsclite-cvs-commit] r5796 - in /trunk/PCSC/src: winscard_msg.c winscard_msg.h

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Thu Jun 16 08:56:04 UTC 2011


Author: rousseau
Date: Thu Jun 16 08:56:03 2011
New Revision: 5796

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=5796
Log:
MessageReceiveTimeout(): change timeOut type from int32_t to unsigned
long to avoid overflows with a timeout of 1000000000.

The bug was that MessageReceiveTimeout() timeouts immediatly when it
should not. So a _lot_ of exchanges with pcscd occurs.

Tested on 64-bits CPU only.

Modified:
    trunk/PCSC/src/winscard_msg.c
    trunk/PCSC/src/winscard_msg.h

Modified: trunk/PCSC/src/winscard_msg.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard_msg.c?rev=5796&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_msg.c (original)
+++ trunk/PCSC/src/winscard_msg.c Thu Jun 16 08:56:03 2011
@@ -157,7 +157,7 @@
  * @retval SCARD_F_COMM_ERROR A signal was received.
  */
 INTERNAL LONG MessageReceiveTimeout(uint32_t command, void *buffer_void,
-	uint64_t buffer_size, int32_t filedes, int32_t timeOut)
+	uint64_t buffer_size, int32_t filedes, unsigned long timeOut)
 {
 	char *buffer = buffer_void;
 

Modified: trunk/PCSC/src/winscard_msg.h
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard_msg.h?rev=5796&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_msg.h (original)
+++ trunk/PCSC/src/winscard_msg.h Thu Jun 16 08:56:03 2011
@@ -258,7 +258,7 @@
 	int32_t ClientSetupSession(uint32_t *);
 	int32_t ClientCloseSession(uint32_t);
 	LONG MessageReceiveTimeout(uint32_t command, /*@out@*/ void *buffer,
-		uint64_t buffer_size, int32_t filedes, int32_t timeOut);
+		uint64_t buffer_size, int32_t filedes, unsigned long timeOut);
 	LONG MessageSendWithHeader(uint32_t command, uint32_t dwClientID,
 		uint64_t size, void *data);
 #endif




More information about the Pcsclite-cvs-commit mailing list