aboutsummaryrefslogtreecommitdiffstats
path: root/smime/lib/e-cert-db.c
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2009-12-15 18:12:41 +0800
committerMilan Crha <mcrha@redhat.com>2009-12-15 18:12:41 +0800
commit859c8b5a8fae36bdb615f35f792c8256d4c8f97e (patch)
tree020d25459a72882a3406d3f4f28641e72e9ceda9 /smime/lib/e-cert-db.c
parentc0c247128c71653e38c6a5de900a069e13a53d8e (diff)
downloadgsoc2013-evolution-859c8b5a8fae36bdb615f35f792c8256d4c8f97e.tar
gsoc2013-evolution-859c8b5a8fae36bdb615f35f792c8256d4c8f97e.tar.gz
gsoc2013-evolution-859c8b5a8fae36bdb615f35f792c8256d4c8f97e.tar.bz2
gsoc2013-evolution-859c8b5a8fae36bdb615f35f792c8256d4c8f97e.tar.lz
gsoc2013-evolution-859c8b5a8fae36bdb615f35f792c8256d4c8f97e.tar.xz
gsoc2013-evolution-859c8b5a8fae36bdb615f35f792c8256d4c8f97e.tar.zst
gsoc2013-evolution-859c8b5a8fae36bdb615f35f792c8256d4c8f97e.zip
Bug #603342 - Memory leak fixes
Diffstat (limited to 'smime/lib/e-cert-db.c')
-rw-r--r--smime/lib/e-cert-db.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/smime/lib/e-cert-db.c b/smime/lib/e-cert-db.c
index fc976bffba..c21d071a96 100644
--- a/smime/lib/e-cert-db.c
+++ b/smime/lib/e-cert-db.c
@@ -513,18 +513,21 @@ e_cert_db_find_cert_by_email_address (ECertDB *certdb,
if (SECSuccess != CERT_FilterCertListByUsage(certlist, certUsageEmailRecipient, PR_FALSE)) {
/* XXX gerror */
CERT_DestroyCertificate(any_cert);
- /* XXX free certlist? */
+ CERT_DestroyCertList (certlist);
return NULL;
}
if (CERT_LIST_END(CERT_LIST_HEAD(certlist), certlist)) {
/* XXX gerror */
CERT_DestroyCertificate(any_cert);
- /* XXX free certlist? */
+ CERT_DestroyCertList (certlist);
return NULL;
}
- cert = e_cert_new (CERT_LIST_HEAD(certlist)->cert);
+ cert = e_cert_new (CERT_DupCertificate (CERT_LIST_HEAD(certlist)->cert));
+
+ CERT_DestroyCertList (certlist);
+ CERT_DestroyCertificate (any_cert);
return cert;
}