[Pcsclite-cvs-commit] r5393 - /trunk/PCSC/src/readerfactory.c

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Tue Nov 9 14:22:10 UTC 2010


Author: rousseau
Date: Tue Nov  9 14:22:08 2010
New Revision: 5393

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=5393
Log:
RFUnInitializeReader(): Do not close a reader if IFDOpenIFD() failed in
RFInitializeReader()

Modified:
    trunk/PCSC/src/readerfactory.c

Modified: trunk/PCSC/src/readerfactory.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/readerfactory.c?rev=5393&op=diff
==============================================================================
--- trunk/PCSC/src/readerfactory.c (original)
+++ trunk/PCSC/src/readerfactory.c Tue Nov  9 14:22:08 2010
@@ -955,6 +955,10 @@
 			rContext->port, rContext->device);
 		(void)RFUnBindFunctions(rContext);
 		(void)RFUnloadReader(rContext);
+
+		/* IFDOpenIFD() failed */
+		rContext->slot = -1;
+
 		if (IFD_NO_SUCH_DEVICE == rv)
 			return SCARD_E_UNKNOWN_READER;
 		else
@@ -977,7 +981,10 @@
 	 *
 	 * IFDPowerICC(rContext, IFD_POWER_DOWN, NULL, NULL);
 	 */
-	(void)IFDCloseIFD(rContext);
+	/* Do not close a reader if IFDOpenIFD() failed in RFInitializeReader() */
+	if (rContext->slot != -1)
+		(void)IFDCloseIFD(rContext);
+
 	(void)RFUnBindFunctions(rContext);
 	(void)RFUnloadReader(rContext);
 




More information about the Pcsclite-cvs-commit mailing list