libpurple/plugins/ssl/ssl-gnutls.c

branch
discord-ssl-crash
changeset 40322
3e026e7db681
parent 40238
6dba8046e1b1
equal deleted inserted replaced
40239:0a7484792f62 40322:3e026e7db681
449 449
450 static size_t 450 static size_t
451 ssl_gnutls_read(PurpleSslConnection *gsc, void *data, size_t len) 451 ssl_gnutls_read(PurpleSslConnection *gsc, void *data, size_t len)
452 { 452 {
453 PurpleSslGnutlsData *gnutls_data = PURPLE_SSL_GNUTLS_DATA(gsc); 453 PurpleSslGnutlsData *gnutls_data = PURPLE_SSL_GNUTLS_DATA(gsc);
454 ssize_t s; 454 ssize_t s = 0;
455 455
456 s = gnutls_record_recv(gnutls_data->session, data, len); 456 if(gnutls_data)
457 s = gnutls_record_recv(gnutls_data->session, data, len);
457 458
458 if(s == GNUTLS_E_AGAIN || s == GNUTLS_E_INTERRUPTED) { 459 if(s == GNUTLS_E_AGAIN || s == GNUTLS_E_INTERRUPTED) {
459 s = -1; 460 s = -1;
460 errno = EAGAIN; 461 errno = EAGAIN;
461 462

mercurial