diff options
author | Milan Crha <mcrha@redhat.com> | 2009-12-15 18:12:41 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2009-12-15 18:12:41 +0800 |
commit | 859c8b5a8fae36bdb615f35f792c8256d4c8f97e (patch) | |
tree | 020d25459a72882a3406d3f4f28641e72e9ceda9 /smime/lib/e-cert-db.c | |
parent | c0c247128c71653e38c6a5de900a069e13a53d8e (diff) | |
download | gsoc2013-evolution-859c8b5a8fae36bdb615f35f792c8256d4c8f97e.tar.gz 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.c | 9 |
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; } |