Don't screw up the attribute ID for SCardGetAttr(). It

worked by pure luck in some cases, and failed in the rest.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1724 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
Pierre Ossman 2013-07-05 14:32:43 +00:00
parent 72dd2ac5be
commit e0766aae22

View File

@ -1962,7 +1962,6 @@ TS_SCardGetAttrib(STREAM in, STREAM out)
in->p += 0x0C;
in_uint32_le(in, hCard);
myHCard = _scard_handle_list_get_pcsc_handle(hCard);
dwAttrId = dwAttrId & 0x0000FFFF;
DEBUG_SCARD(("SCARD: SCardGetAttrib(hcard: 0x%08x [0x%08lx], attrib: 0x%08x (%d bytes))\n",
(unsigned) hCard, (unsigned long) myHCard,
@ -1990,7 +1989,7 @@ TS_SCardGetAttrib(STREAM in, STREAM out)
rv = SCardGetAttrib(myHCard, (MYPCSC_DWORD) dwAttrId, pbAttr, &attrLen);
dwAttrLen = attrLen;
if (dwAttrId == 0x00000100 && rv != SCARD_S_SUCCESS)
if (dwAttrId == SCARD_ATTR_VENDOR_NAME && rv != SCARD_S_SUCCESS)
{
DEBUG_SCARD(("SCARD: Faking attribute ATTR_VENDOR_NAME\n"));
pthread_mutex_lock(&hcardAccess);
@ -2059,8 +2058,6 @@ TS_SCardSetAttrib(STREAM in, STREAM out)
in_uint32_le(in, hCard);
myHCard = scHandleToMyPCSC(hCard);
dwAttrId = dwAttrId & 0x0000FFFF;
DEBUG_SCARD(("SCARD: SCardSetAttrib(hcard: 0x%08x [0x%08lx], attrib: 0x%08x (%d bytes))\n",
(unsigned) hCard, (unsigned long) myHCard,
(unsigned) dwAttrId, (int) dwAttrLen));