From c35130f2215b75c6d54c4f0162d68548a6de4bab Mon Sep 17 00:00:00 2001 From: Ludovic Rousseau Date: Sun, 19 Jun 2022 21:32:20 +0200 Subject: [PATCH] Improve SCardDisconnect fix Same justification as for the previous patch. RFReaderInfoById() may return SCARD_E_READER_UNAVAILABLE. --- src/winscard.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/winscard.c b/src/winscard.c index e411ca56..f2697707 100644 --- a/src/winscard.c +++ b/src/winscard.c @@ -841,7 +841,7 @@ LONG SCardDisconnect(SCARDHANDLE hCard, DWORD dwDisposition) /* get rContext corresponding to hCard */ rv = RFReaderInfoById(hCard, &rContext); /* ignore reader removal */ - if (SCARD_E_INVALID_VALUE == rv) + if (SCARD_E_INVALID_VALUE == rv || SCARD_E_READER_UNAVAILABLE == rv) return SCARD_S_SUCCESS; if (rv != SCARD_S_SUCCESS) return rv;