summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PICA_client.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/PICA_client.c b/PICA_client.c
index cdabf93..fb1c9ec 100644
--- a/PICA_client.c
+++ b/PICA_client.c
@@ -1421,8 +1421,8 @@ int PICA_open_acc(const char *cert_file,
if (!a)
return PICA_ERRNOMEM;
- a->pkey_file = pkey_file;
- a->cert_file = cert_file;
+ a->pkey_file = strdup(pkey_file);
+ a->cert_file = strdup(cert_file);
a->password_cb = password_cb;
a->ctx = SSL_CTX_new(TLSv1_2_method());//(2)
@@ -1523,6 +1523,8 @@ error_ret_2: //(2)
SSL_CTX_free(a->ctx);
error_ret_1: //(1)
+ free(a->pkey_file);
+ free(a->cert_file);
free(a);
*acc = 0;
@@ -3469,6 +3471,8 @@ void PICA_close_c2n(struct PICA_c2n *cid)
void PICA_close_acc(struct PICA_acc *a)
{
SSL_CTX_free(a->ctx);
+ free(a->pkey_file);
+ free(a->cert_file);
free(a);
}