Some operations consist of just the control code, no data.

git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1599 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
Pierre Ossman 2010-06-22 13:06:50 +00:00
parent b82d367a4b
commit 1da6ed30e5

11
scard.c
View File

@ -2033,10 +2033,13 @@ TS_SCardControl(STREAM in, STREAM out)
{
/* read real input size */
in_uint32_le(in, nInBufferSize);
pInBuffer = SC_xmalloc(&lcHandle, nInBufferSize);
if (!pInBuffer)
return SC_returnNoMemoryError(&lcHandle, in, out);
in_uint8a(in, pInBuffer, nInBufferSize);
if (nInBufferSize > 0)
{
pInBuffer = SC_xmalloc(&lcHandle, nInBufferSize);
if (!pInBuffer)
return SC_returnNoMemoryError(&lcHandle, in, out);
in_uint8a(in, pInBuffer, nInBufferSize);
}
}
DEBUG_SCARD(("SCARD: SCardControl(context: 0x%08x, hcard: 0x%08x, code: 0x%08x, in: %d bytes, out: %d bytes)\n", (unsigned) hContext, (unsigned) hCard, (unsigned) dwControlCode, (int) nInBufferSize, (int) nOutBufferSize));