summaryrefslogtreecommitdiff
path: root/src/socket.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2016-08-24 14:04:52 +0200
committerNikos Mavrogiannopoulos <nmav@redhat.com>2016-08-24 14:09:43 +0200
commit4d8e1f716794bf7ca267091bb2017dfd73770762 (patch)
tree368ca30a65ba6487a0825cbda880de08c299f15d /src/socket.c
parent5cee0fdcc503c53e7052fcf199db1fa0636fcf3f (diff)
downloadgnutls-4d8e1f716794bf7ca267091bb2017dfd73770762.tar.gz
ocsptool: corrected bug in session establishment
Diffstat (limited to 'src/socket.c')
-rw-r--r--src/socket.c13
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);