diff options
-rw-r--r-- | src/manager/client-capi/ckmc-manager.cpp | 2 | ||||
-rw-r--r-- | src/manager/client-capi/ckmc-type.cpp | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/manager/client-capi/ckmc-manager.cpp b/src/manager/client-capi/ckmc-manager.cpp index 7f337a1e..1cc412ba 100644 --- a/src/manager/client-capi/ckmc-manager.cpp +++ b/src/manager/client-capi/ckmc-manager.cpp @@ -445,7 +445,7 @@ int ckmc_get_pkcs12(const char *alias, const char *key_password, if (ret != CKMC_ERROR_NONE) { ckmc_key_free(private_key); ckmc_cert_free(cert); - ckmc_cert_list_free(ca_cert_list); + ckmc_cert_list_all_free(ca_cert_list); } return ret; diff --git a/src/manager/client-capi/ckmc-type.cpp b/src/manager/client-capi/ckmc-type.cpp index 75fde1c0..cadc56d9 100644 --- a/src/manager/client-capi/ckmc-type.cpp +++ b/src/manager/client-capi/ckmc-type.cpp @@ -230,8 +230,7 @@ int ckmc_load_cert_from_file(const char *file_path, ckmc_cert_s **cert) int ret = _ckmc_load_cert_from_x509(pcert, cert); - if (ret != CKMC_ERROR_NONE) - X509_free(pcert); + X509_free(pcert); return ret; } @@ -417,8 +416,9 @@ int ckmc_load_from_pkcs12_file(const char *file_path, const char *passphrase, ckmc_cert_list_s *tmpCertList = NULL; while ((popedCert = sk_X509_pop(ca)) != NULL) { - if ((tmpRet = _ckmc_load_cert_from_x509(popedCert, - &popedCkmCert)) != CKMC_ERROR_NONE) + tmpRet = _ckmc_load_cert_from_x509(popedCert, &popedCkmCert); + X509_free(popedCert); + if (tmpRet != CKMC_ERROR_NONE) return CKMC_ERROR_OUT_OF_MEMORY; if (tmpCertList == NULL) { // first @@ -502,7 +502,7 @@ void ckmc_pkcs12_free(ckmc_pkcs12_s *pkcs12) ckmc_key_free(pkcs12->priv_key); ckmc_cert_free(pkcs12->cert); - ckmc_cert_list_free(pkcs12->ca_chain); + ckmc_cert_list_all_free(pkcs12->ca_chain); free(pkcs12); } |