diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2016-08-24 14:04:52 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2016-08-24 14:09:43 +0200 |
commit | 4d8e1f716794bf7ca267091bb2017dfd73770762 (patch) | |
tree | 368ca30a65ba6487a0825cbda880de08c299f15d /src/socket.c | |
parent | 5cee0fdcc503c53e7052fcf199db1fa0636fcf3f (diff) | |
download | gnutls-4d8e1f716794bf7ca267091bb2017dfd73770762.tar.gz |
ocsptool: corrected bug in session establishment
Diffstat (limited to 'src/socket.c')
-rw-r--r-- | src/socket.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/socket.c b/src/socket.c index 77d7e8855c..423cd90b7d 100644 --- a/src/socket.c +++ b/src/socket.c @@ -471,11 +471,18 @@ socket_open(socket_st * hd, const char *hostname, const char *service, } hd->session = init_tls_session(hostname); - if (hd->rdata.data) { - gnutls_session_set_data(hd->session, hd->rdata.data, hd->rdata.size); + if (hd->session == NULL && !(flags & SOCKET_FLAG_RAW)) { + fprintf(stderr, "error initializing session\n"); + exit(1); } - gnutls_transport_set_int(hd->session, sd); + if (hd->session) { + if (hd->rdata.data) { + gnutls_session_set_data(hd->session, hd->rdata.data, hd->rdata.size); + } + + gnutls_transport_set_int(hd->session, sd); + } if (!(flags & SOCKET_FLAG_RAW)) { err = do_handshake(hd); |