From fd529c826d1004989fd74291923c00e8af0cb2dd Mon Sep 17 00:00:00 2001 From: akallabeth Date: Sat, 6 Feb 2021 12:40:17 +0100 Subject: [PATCH] Fixed GetAttrib call (cherry picked from commit 99d228251c73c3c33bc1119ceb7d084f77d80076) --- channels/smartcard/client/smartcard_pack.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/channels/smartcard/client/smartcard_pack.c b/channels/smartcard/client/smartcard_pack.c index 5532eb2..f54984b 100644 --- a/channels/smartcard/client/smartcard_pack.c +++ b/channels/smartcard/client/smartcard_pack.c @@ -3298,15 +3298,15 @@ LONG smartcard_unpack_set_attrib_call(SMARTCARD_DEVICE* smartcard, wStream* s, S Stream_Read_UINT32(s, call->dwAttrId); Stream_Read_UINT32(s, call->cbAttrLen); + if (!smartcard_ndr_pointer_read(s, &index, &ndrPtr)) + return ERROR_INVALID_DATA; + if ((status = smartcard_unpack_redir_scard_context_ref(smartcard, s, &(call->hContext)))) return status; if ((status = smartcard_unpack_redir_scard_handle_ref(smartcard, s, &(call->hCard)))) return status; - if (!smartcard_ndr_pointer_read(s, &index, &ndrPtr)) - return ERROR_INVALID_DATA; - if (ndrPtr) { // TODO: call->cbAttrLen was larger than the pointer value. -- 2.7.4