Mercurial > pidgin
comparison plugins/ssl/ssl-gnutls.c @ 7467:f9ed27be344e
[gaim-migrate @ 8080]
this should prevent SSL segfaults when you cancel connections before any
SSL magic happens
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Sun, 09 Nov 2003 08:49:16 +0000 |
parents | 35e652831230 |
children | 5f0f9d7fba6a |
comparison
equal
deleted
inserted
replaced
7466:fa0324675ed9 | 7467:f9ed27be344e |
---|---|
108 static void | 108 static void |
109 ssl_gnutls_close(GaimSslConnection *gsc) | 109 ssl_gnutls_close(GaimSslConnection *gsc) |
110 { | 110 { |
111 GaimSslGnutlsData *gnutls_data = GAIM_SSL_GNUTLS_DATA(gsc); | 111 GaimSslGnutlsData *gnutls_data = GAIM_SSL_GNUTLS_DATA(gsc); |
112 | 112 |
113 if(!gnutls_data) | |
114 return; | |
115 | |
113 gnutls_bye(gnutls_data->session, GNUTLS_SHUT_RDWR); | 116 gnutls_bye(gnutls_data->session, GNUTLS_SHUT_RDWR); |
114 | 117 |
115 gnutls_deinit(gnutls_data->session); | 118 gnutls_deinit(gnutls_data->session); |
116 | 119 |
117 g_free(gnutls_data); | 120 g_free(gnutls_data); |
133 | 136 |
134 static size_t | 137 static size_t |
135 ssl_gnutls_write(GaimSslConnection *gsc, const void *data, size_t len) | 138 ssl_gnutls_write(GaimSslConnection *gsc, const void *data, size_t len) |
136 { | 139 { |
137 GaimSslGnutlsData *gnutls_data = GAIM_SSL_GNUTLS_DATA(gsc); | 140 GaimSslGnutlsData *gnutls_data = GAIM_SSL_GNUTLS_DATA(gsc); |
138 size_t s; | 141 size_t s = 0; |
139 | 142 |
140 s = gnutls_record_send(gnutls_data->session, data, len); | 143 if(gnutls_data) |
144 s = gnutls_record_send(gnutls_data->session, data, len); | |
141 | 145 |
142 if (s < 0) | 146 if (s < 0) |
143 s = 0; | 147 s = 0; |
144 | 148 |
145 return s; | 149 return s; |