summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/s_client.c8
-rw-r--r--apps/s_server.c11
2 files changed, 13 insertions, 6 deletions
diff --git a/apps/s_client.c b/apps/s_client.c
index fed012230a..251da63ed5 100644
--- a/apps/s_client.c
+++ b/apps/s_client.c
@@ -1237,8 +1237,12 @@ shut:
SHUTDOWN(SSL_get_fd(con));
ret=0;
end:
- if(prexit) print_stuff(bio_c_out,con,1);
- if (con != NULL) SSL_free(con);
+ if (con != NULL)
+ {
+ if (prexit != 0)
+ print_stuff(bio_c_out,con,1);
+ SSL_free(con);
+ }
if (ctx != NULL) SSL_CTX_free(ctx);
if (cert)
X509_free(cert);
diff --git a/apps/s_server.c b/apps/s_server.c
index 72d0b6cd4b..903f1c47fc 100644
--- a/apps/s_server.c
+++ b/apps/s_server.c
@@ -1813,13 +1813,16 @@ again:
}
}
err:
- BIO_printf(bio_s_out,"shutting down SSL\n");
+ if (con != NULL)
+ {
+ BIO_printf(bio_s_out,"shutting down SSL\n");
#if 1
- SSL_set_shutdown(con,SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN);
+ SSL_set_shutdown(con,SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN);
#else
- SSL_shutdown(con);
+ SSL_shutdown(con);
#endif
- if (con != NULL) SSL_free(con);
+ SSL_free(con);
+ }
BIO_printf(bio_s_out,"CONNECTION CLOSED\n");
if (buf != NULL)
{