[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