diff -r 01fe9523e6d6 -r ad839d846fae libpurple/plugins/ssl/ssl-nss.c --- a/libpurple/plugins/ssl/ssl-nss.c Fri Aug 03 07:08:42 2007 +0000 +++ b/libpurple/plugins/ssl/ssl-nss.c Fri Aug 03 07:11:06 2007 +0000 @@ -443,7 +443,16 @@ static void x509_destroy_certificate(PurpleCertificate * crt) { - /* pass */ + CERTCertificate *crt_dat; + + g_return_if_fail(crt); + g_return_if_fail(crt->scheme == &x509_nss); + + crt_dat = X509_NSS_DATA(crt); + g_return_if_fail(crt_dat); + + /* Finally we have the certificate. So let's kill it */ + CERT_DestroyCertificate(crt_dat); } /** Determines whether one certificate has been issued and signed by another