Aaron Small
-
2011-03-12
When connecting to a remote winxp desktop which uses smartcard login, I see the login fail after calling SCardGetAttrib with dwAttrLen = 0. The proper action here is to query the length of the attribute from the smartcard and return it to the server. Instead, rdesktop is attempting to allocate a 0-byte buffer, failing, and returning out-of-memory. Fix it by passing the attribute query on to pcsclite with an empty buffer, to determine the attribute length.