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:
authordnobori <da.git@softether.co.jp>2020-01-01 14:15:26 +0300
committerdnobori <da.git@softether.co.jp>2020-01-01 14:15:26 +0300
commit12b0330d8b67049d5940f0045e45c48092b7cf43 (patch)
tree64f831108ba498c7e30cd7ebd1dbe96829a96c33 /src/Cedar/IPsec_IPC.c
parent53f1f2193835e6af51917e5b4753cca620e1a539 (diff)
v4.32-9731-betav4.32-9731-beta
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);
}