On 2011-11-21 23:36, Christer Palm wrote:
...
> The output is (this session with the card inserted before starting the
> session):
>
...
> DBG_SCARD handle_GetAttrib (1103): hcard: 0x0001eb44, attrib: 0x00010102
> (0 bytes)
>
> DBG_SCARD handle_GetAttrib (1136): Failure: Insufficient buffer.
> (0x80100008)
> *** glibc detected *** /home/palm/opt/FreeRDP/bin/xfreerdp: free():
> invalid pointer: 0xb4afc2f8 ***

Replying to myself, I realized that the problem is simply that pbAttr is 
never initialized when attrLen == 0.

Changing:
         unsigned char *pbAttr;
to:
         unsigned char *pbAttr = NULL;

indeed seems to fix both the SCARD_E_INSUFFICIENT_BUFFER and the free() 
problem.

Regards,
--
Christer Palm

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Freerdp-devel mailing list
Freerdp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freerdp-devel

Reply via email to