[Pcsclite-cvs-commit] r4481 - /trunk/PCSC/src/winscard_clnt.c

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Mon Oct 12 14:21:58 UTC 2009


Author: rousseau
Date: Mon Oct 12 14:21:57 2009
New Revision: 4481

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=4481
Log:
SCardReleaseContext(): release context even if communication with the
server fails

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=4481&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_clnt.c (original)
+++ trunk/PCSC/src/winscard_clnt.c Mon Oct 12 14:21:57 2009
@@ -575,8 +575,8 @@
 
 	if (rv == -1)
 	{
-		(void)SYS_MutexUnLock(psContextMap[dwContextIndex].mMutex);
-		return SCARD_E_NO_SERVICE;
+		rv = SCARD_E_NO_SERVICE;
+		goto end;
 	}
 
 	/*
@@ -588,10 +588,12 @@
 
 	if (rv == -1)
 	{
-		(void)SYS_MutexUnLock(psContextMap[dwContextIndex].mMutex);
-		return SCARD_F_COMM_ERROR;
-	}
-
+		rv = SCARD_F_COMM_ERROR;
+		goto end;
+	}
+
+	rv = scReleaseStruct.rv;
+end:
 	(void)SYS_MutexUnLock(psContextMap[dwContextIndex].mMutex);
 
 	/*
@@ -603,7 +605,7 @@
 
 	PROFILE_END(scReleaseStruct.rv)
 
-	return scReleaseStruct.rv;
+	return rv;
 }
 
 /**




More information about the Pcsclite-cvs-commit mailing list