libwinpr-smartcard: ListReaders_Call fix

This commit is contained in:
Marc-André Moreau 2014-04-04 17:37:00 -04:00
parent f9ada64587
commit 67ba28e86d
2 changed files with 7 additions and 11 deletions

View File

@ -763,7 +763,6 @@ static UINT32 handle_ListReaders(SMARTCARD_DEVICE* smartcard, IRP* irp, BOOL wid
if (status)
goto finish;
/* Read RedirScardcontextRef */
status = handle_RedirContextRef(smartcard, irp, redirect, &hContext);
if (status)

View File

@ -21,6 +21,9 @@
#include "config.h"
#endif
#include <winpr/crt.h>
#include <winpr/print.h>
#include "smartcard_pack.h"
UINT32 smartcard_unpack_establish_context_call(SMARTCARD_DEVICE* smartcard, wStream* s, EstablishContext_Call* call)
@ -55,16 +58,8 @@ UINT32 smartcard_unpack_list_readers_call(SMARTCARD_DEVICE* smartcard, wStream*
return SCARD_F_INTERNAL_ERROR;
}
if (call->cBytes)
{
call->mszGroups = malloc(call->cBytes);
Stream_Read(s, call->mszGroups, call->cBytes); /* mszGroups */
}
else
{
call->mszGroups = NULL;
Stream_Seek(s, 4); /* mszGroups */
}
Stream_Seek(s, 4); /* mszGroupsPtr (4 bytes) */
Stream_Read_UINT32(s, call->fmszReadersIsNULL); /* fmszReadersIsNULL (4 bytes) */
Stream_Read_UINT32(s, call->cchReaders); /* cchReaders (4 bytes) */
@ -76,5 +71,7 @@ UINT32 smartcard_unpack_list_readers_call(SMARTCARD_DEVICE* smartcard, wStream*
return SCARD_F_INTERNAL_ERROR;
}
/* FIXME: complete parsing */
return SCARD_S_SUCCESS;
}