[Pcsclite-cvs-commit] r6367 - /trunk/PCSC/src/winscard.c

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Fri Jun 29 08:36:44 UTC 2012


Author: rousseau
Date: Fri Jun 29 08:36:43 2012
New Revision: 6367

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=6367
Log:
SCardDisconnect(): check the parameters before anything

Do not lose time finding the rContext if the dwDisposition parameter is
wrong. Exit early.

Modified:
    trunk/PCSC/src/winscard.c

Modified: trunk/PCSC/src/winscard.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard.c?rev=6367&op=diff
==============================================================================
--- trunk/PCSC/src/winscard.c (original)
+++ trunk/PCSC/src/winscard.c Fri Jun 29 08:36:43 2012
@@ -765,16 +765,16 @@
 	if (hCard == 0)
 		return SCARD_E_INVALID_HANDLE;
 
-	/* get rContext corresponding to hCard */
-	rv = RFReaderInfoById(hCard, &rContext);
-	if (rv != SCARD_S_SUCCESS)
-		return rv;
-
 	if ((dwDisposition != SCARD_LEAVE_CARD)
 		&& (dwDisposition != SCARD_UNPOWER_CARD)
 		&& (dwDisposition != SCARD_RESET_CARD)
 		&& (dwDisposition != SCARD_EJECT_CARD))
 		return SCARD_E_INVALID_VALUE;
+
+	/* get rContext corresponding to hCard */
+	rv = RFReaderInfoById(hCard, &rContext);
+	if (rv != SCARD_S_SUCCESS)
+		return rv;
 
 	/*
 	 * wait until a possible transaction is finished




More information about the Pcsclite-cvs-commit mailing list