channels/smartcard: fix possible mszReaders leak in smartcard_ListReaders(A/W)_Call

This commit is contained in:
Kirill Kotyagin 2015-07-22 17:25:17 +03:00
parent 76916d614b
commit ef37487a44

View File

@ -323,12 +323,12 @@ static UINT32 smartcard_ListReadersA_Call(SMARTCARD_DEVICE* smartcard, SMARTCARD
smartcard_trace_list_readers_return(smartcard, &ret, FALSE); smartcard_trace_list_readers_return(smartcard, &ret, FALSE);
status = smartcard_pack_list_readers_return(smartcard, irp->output, &ret); status = smartcard_pack_list_readers_return(smartcard, irp->output, &ret);
if (status != SCARD_S_SUCCESS)
return status;
if (mszReaders) if (mszReaders)
SCardFreeMemory(operation->hContext, mszReaders); SCardFreeMemory(operation->hContext, mszReaders);
if (status != SCARD_S_SUCCESS)
return status;
return ret.ReturnCode; return ret.ReturnCode;
} }
@ -371,15 +371,14 @@ static UINT32 smartcard_ListReadersW_Call(SMARTCARD_DEVICE* smartcard, SMARTCARD
} }
smartcard_trace_list_readers_return(smartcard, &ret, TRUE); smartcard_trace_list_readers_return(smartcard, &ret, TRUE);
status = smartcard_pack_list_readers_return(smartcard, irp->output, &ret); status = smartcard_pack_list_readers_return(smartcard, irp->output, &ret);
if (status != SCARD_S_SUCCESS)
return status;
if (mszReaders) if (mszReaders)
SCardFreeMemory(operation->hContext, mszReaders); SCardFreeMemory(operation->hContext, mszReaders);
if (status != SCARD_S_SUCCESS)
return status;
return ret.ReturnCode; return ret.ReturnCode;
} }