[Pcsclite-cvs-commit] r5795 - /trunk/PCSC/src/winscard_clnt.c
rousseau at users.alioth.debian.org
rousseau at users.alioth.debian.org
Thu Jun 16 08:19:14 UTC 2011
Author: rousseau
Date: Thu Jun 16 08:19:13 2011
New Revision: 5795
URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=5795
Log:
SCardGetStatusChange(): catch possible sign extension problems from 32
to 64-bits integers
Storing INFINITE (0xFFFFFFFF) into an int parameter and then passing it
to SCardGetStatusChange() will expand the int into a DWORD (unsigned
long). On 64-bits architecture it will become 0xFFFFFFFFFFFFFFFF (-1).
See OpenSC bug at http://www.opensc-project.org/pipermail/opensc-devel/2011-June/016848.html
Modified:
trunk/PCSC/src/winscard_clnt.c
Modified: trunk/PCSC/src/winscard_clnt.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard_clnt.c?rev=5795&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_clnt.c (original)
+++ trunk/PCSC/src/winscard_clnt.c Thu Jun 16 08:19:13 2011
@@ -1886,6 +1886,9 @@
if (readerStates[j].readerName[0] != '\0')
currentReaderCount++;
+ /* catch possible sign extension problems from 32 to 64-bits integers */
+ if (-1 == dwTimeout)
+ dwTimeout = INFINITE;
if (INFINITE == dwTimeout)
dwTime = 60*1000; /* "infinite" timeout */
else
More information about the Pcsclite-cvs-commit
mailing list