Dereference ppbAttr as argument for SCardGetAttrib
This commit is contained in:
parent
83658d2121
commit
1efcd605e0
@ -1866,7 +1866,7 @@ static LONG smartcard_GetAttrib_Call(SMARTCARD_DEVICE* smartcard, SMARTCARD_OPER
|
||||
BOOL autoAllocate = FALSE;
|
||||
LONG status;
|
||||
DWORD cbAttrLen = 0;
|
||||
LPBYTE pbAttr = NULL;
|
||||
LPBYTE* ppbAttr = NULL;
|
||||
GetAttrib_Return ret = { 0 };
|
||||
IRP* irp = operation->irp;
|
||||
const GetAttrib_Call* call = operation->call;
|
||||
@ -1874,7 +1874,7 @@ static LONG smartcard_GetAttrib_Call(SMARTCARD_DEVICE* smartcard, SMARTCARD_OPER
|
||||
if (!call->fpbAttrIsNULL)
|
||||
{
|
||||
autoAllocate = (call->cbAttrLen == SCARD_AUTOALLOCATE) ? TRUE : FALSE;
|
||||
pbAttr = autoAllocate ? (LPBYTE) & (ret.pbAttr) : ret.pbAttr;
|
||||
*ppbAttr = autoAllocate ? (LPBYTE) & (ret.pbAttr) : ret.pbAttr;
|
||||
cbAttrLen = call->cbAttrLen;
|
||||
}
|
||||
|
||||
@ -1886,7 +1886,8 @@ static LONG smartcard_GetAttrib_Call(SMARTCARD_DEVICE* smartcard, SMARTCARD_OPER
|
||||
return SCARD_E_NO_MEMORY;
|
||||
}
|
||||
|
||||
ret.ReturnCode = SCardGetAttrib(operation->hCard, call->dwAttrId, pbAttr, &cbAttrLen);
|
||||
ret.ReturnCode = SCardGetAttrib(operation->hCard, call->dwAttrId, *ppbAttr, &cbAttrLen);
|
||||
|
||||
log_status_error(TAG, "SCardGetAttrib", ret.ReturnCode);
|
||||
ret.cbAttrLen = cbAttrLen;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user