From: Konstantin Romanov incubusrk@gmail.com
--- dlls/winscard/unixlib.h | 2 +- dlls/winscard/winscard.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/winscard/unixlib.h b/dlls/winscard/unixlib.h index 74efcb47261..5111eff9c50 100644 --- a/dlls/winscard/unixlib.h +++ b/dlls/winscard/unixlib.h @@ -255,7 +255,7 @@ struct SCardSetAttrib_params { SCARDHANDLE hCard; DWORD_LITE dwAttrId; - const LPBYTE pbAttr; + LPBYTE pbAttr; DWORD_LITE cbAttrLen; };
diff --git a/dlls/winscard/winscard.c b/dlls/winscard/winscard.c index ea2e1e2433c..dbffcd8d314 100644 --- a/dlls/winscard/winscard.c +++ b/dlls/winscard/winscard.c @@ -1916,7 +1916,10 @@ LONG WINAPI SCardSetAttrib( DWORD cbAttrLen) { LONG lRet; - struct SCardSetAttrib_params params = {hCard, dwAttrId, pbAttr, cbAttrLen}; + struct SCardSetAttrib_params params = {hCard, dwAttrId, NULL, cbAttrLen}; + BYTE bAttr = 0; + if (pbAttr) bAttr = *pbAttr; + params.pbAttr = &bAttr; TRACE(" 0x%08X %#lx %p %#lx \n",(unsigned int) hCard,dwAttrId,pbAttr,cbAttrLen); lRet = WINSCARD_CALL( SCardGetAttrib, ¶ms ); TRACE(" returned %#lx \n",lRet);