From 5eca5ebde8072fda20f0d34905c63bcca2bd2e58 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Wed, 7 Nov 2018 17:01:28 +0100 Subject: [PATCH] Fixed #4993: Allow uninitialized bio socket in transport_bio_simple_uninit When the TLS connection is aborted early (certificate issues, ...) the bio simple socket might not have been initialized. Do not access the NULL pointer on cleanup. --- libfreerdp/core/tcp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libfreerdp/core/tcp.c b/libfreerdp/core/tcp.c index 69c9c26..e25c543 100644 --- a/libfreerdp/core/tcp.c +++ b/libfreerdp/core/tcp.c @@ -380,7 +380,7 @@ static int transport_bio_simple_uninit(BIO* bio) if (BIO_get_shutdown(bio)) { - if (BIO_get_init(bio)) + if (BIO_get_init(bio) && ptr) { _shutdown(ptr->socket, SD_BOTH); closesocket(ptr->socket); @@ -388,7 +388,7 @@ static int transport_bio_simple_uninit(BIO* bio) } } - if (ptr->hEvent) + if (ptr && ptr->hEvent) { CloseHandle(ptr->hEvent); ptr->hEvent = NULL; -- 2.7.4