diff options
author | dnobori <da.git@softether.co.jp> | 2020-01-01 14:15:26 +0300 |
---|---|---|
committer | dnobori <da.git@softether.co.jp> | 2020-01-01 14:15:26 +0300 |
commit | 12b0330d8b67049d5940f0045e45c48092b7cf43 (patch) | |
tree | 64f831108ba498c7e30cd7ebd1dbe96829a96c33 /src/Cedar/IPsec_IPC.c | |
parent | 53f1f2193835e6af51917e5b4753cca620e1a539 (diff) |
v4.32-9731-betav4.32-9731-beta
Diffstat (limited to 'src/Cedar/IPsec_IPC.c')
-rw-r--r-- | src/Cedar/IPsec_IPC.c | 12 |
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);
}
|