Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/SoftEtherVPN/SoftEtherVPN_Stable.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/Cedar/IPsec_IPC.c')
-rw-r--r--src/Cedar/IPsec_IPC.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/Cedar/IPsec_IPC.c b/src/Cedar/IPsec_IPC.c
index 82831784..fb127018 100644
--- a/src/Cedar/IPsec_IPC.c
+++ b/src/Cedar/IPsec_IPC.c
@@ -179,6 +179,12 @@ IPC_ASYNC *NewIPCAsync(CEDAR *cedar, IPC_PARAM *param, SOCK_EVENT *sock_event)
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)
{
a->SockEvent = sock_event;
@@ -297,6 +303,12 @@ void FreeIPCAsync(IPC_ASYNC *a)
ReleaseCedar(a->Cedar);
ReleaseTube(a->TubeForDisconnect);
+
+ if (a->Param.ClientCertificate != NULL)
+ {
+ FreeX(a->Param.ClientCertificate);
+ }
+
Free(a);
}