# HG changeset patch # User Nathan Walp # Date 1068367756 0 # Node ID f9ed27be344e1701bf98483f2306366bf8bb65d1 # Parent fa0324675ed9e288d3981e05def6b2a223a890ce [gaim-migrate @ 8080] this should prevent SSL segfaults when you cancel connections before any SSL magic happens committer: Tailor Script diff -r fa0324675ed9 -r f9ed27be344e plugins/ssl/ssl-gnutls.c --- a/plugins/ssl/ssl-gnutls.c Sun Nov 09 07:58:23 2003 +0000 +++ b/plugins/ssl/ssl-gnutls.c Sun Nov 09 08:49:16 2003 +0000 @@ -110,6 +110,9 @@ { GaimSslGnutlsData *gnutls_data = GAIM_SSL_GNUTLS_DATA(gsc); + if(!gnutls_data) + return; + gnutls_bye(gnutls_data->session, GNUTLS_SHUT_RDWR); gnutls_deinit(gnutls_data->session); @@ -135,9 +138,10 @@ ssl_gnutls_write(GaimSslConnection *gsc, const void *data, size_t len) { GaimSslGnutlsData *gnutls_data = GAIM_SSL_GNUTLS_DATA(gsc); - size_t s; + size_t s = 0; - s = gnutls_record_send(gnutls_data->session, data, len); + if(gnutls_data) + s = gnutls_record_send(gnutls_data->session, data, len); if (s < 0) s = 0; diff -r fa0324675ed9 -r f9ed27be344e plugins/ssl/ssl-nss.c --- a/plugins/ssl/ssl-nss.c Sun Nov 09 07:58:23 2003 +0000 +++ b/plugins/ssl/ssl-nss.c Sun Nov 09 08:49:16 2003 +0000 @@ -220,6 +220,9 @@ { GaimSslNssData *nss_data = GAIM_SSL_NSS_DATA(gsc); + if(!nss_data) + return; + if (nss_data->in) PR_Close(nss_data->in); /* if (nss_data->fd) PR_Close(nss_data->fd); */ @@ -239,6 +242,9 @@ { GaimSslNssData *nss_data = GAIM_SSL_NSS_DATA(gsc); + if(!nss_data) + return 0; + return PR_Write(nss_data->in, data, len); }