channels/smartcard: fix possible mszReaders leak in smartcard_ListReaders(A/W)_Call
This commit is contained in:
parent
76916d614b
commit
ef37487a44
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user