mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2024-11-26 19:39:53 +03:00
Merge pull request #1061 from dnobori/200101_fix_openvpn_cert_auth_crush
Merge pull request #1061: src/Cedar/IPC.c: fix possible crash when using certificate authentication with OpenVPN
This commit is contained in:
commit
bd558e8f0a
@ -82,6 +82,12 @@ IPC_ASYNC *NewIPCAsync(CEDAR *cedar, IPC_PARAM *param, SOCK_EVENT *sock_event)
|
|||||||
|
|
||||||
Copy(&a->Param, param, sizeof(IPC_PARAM));
|
Copy(&a->Param, param, sizeof(IPC_PARAM));
|
||||||
|
|
||||||
|
if (param->ClientCertificate != NULL)
|
||||||
|
{
|
||||||
|
// Client certificate must be copied for async processing
|
||||||
|
a->Param.ClientCertificate = CloneX(param->ClientCertificate);
|
||||||
|
}
|
||||||
|
|
||||||
if (sock_event != NULL)
|
if (sock_event != NULL)
|
||||||
{
|
{
|
||||||
a->SockEvent = sock_event;
|
a->SockEvent = sock_event;
|
||||||
@ -200,6 +206,12 @@ void FreeIPCAsync(IPC_ASYNC *a)
|
|||||||
ReleaseCedar(a->Cedar);
|
ReleaseCedar(a->Cedar);
|
||||||
|
|
||||||
ReleaseTube(a->TubeForDisconnect);
|
ReleaseTube(a->TubeForDisconnect);
|
||||||
|
|
||||||
|
if (a->Param.ClientCertificate != NULL)
|
||||||
|
{
|
||||||
|
FreeX(a->Param.ClientCertificate);
|
||||||
|
}
|
||||||
|
|
||||||
Free(a);
|
Free(a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user