Fix inconsistent cBytes value between WinScard and pcsc-lite.

This commit is contained in:
Ruben De Visscher
2018-04-24 10:33:44 +02:00
parent c5572b087a
commit 1835a39aaf

View File

@@ -1142,7 +1142,13 @@ static LONG smartcard_StatusW_Call(SMARTCARD_DEVICE* smartcard, SMARTCARD_OPERAT
if (!call->fmszReaderNamesIsNULL)
ret.mszReaderNames = (BYTE*) mszReaderNames;
// WinScard returns the number of CHARACTERS whereas pcsc-lite returns the
// number of BYTES.
#ifdef _WIN32
ret.cBytes = cchReaderLen * 2;
#else
ret.cBytes = cchReaderLen;
#endif
if (call->cbAtrLen)
ret.cbAtrLen = cbAtrLen;