From c7b93a76ea10c321c0377ccd5f100af17d1936cb Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 1 Jun 2021 11:17:27 +0200 Subject: [PATCH] vtls: exit addsessionid if no cache is inited Follow-up to b249592d29ae0 Avoids NULL pointer derefs. Closes #7165 --- lib/vtls/vtls.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/vtls/vtls.c b/lib/vtls/vtls.c index 1e6272b9f2..e49f8eafb2 100644 --- a/lib/vtls/vtls.c +++ b/lib/vtls/vtls.c @@ -499,8 +499,8 @@ CURLcode Curl_ssl_addsessionid(struct Curl_easy *data, int sockindex) { size_t i; - struct Curl_ssl_session *store = &data->state.session[0]; - long oldest_age = data->state.session[0].age; /* zero if unused */ + struct Curl_ssl_session *store; + long oldest_age; char *clone_host; char *clone_conn_to_host; int conn_to_port; @@ -516,6 +516,11 @@ CURLcode Curl_ssl_addsessionid(struct Curl_easy *data, const char *hostname = conn->host.name; #endif (void)sockindex; + if(!data->state.session) + return CURLE_OK; + + store = &data->state.session[0]; + oldest_age = data->state.session[0].age; /* zero if unused */ DEBUGASSERT(SSL_SET_OPTION(primary.sessionid)); clone_host = strdup(hostname); -- 2.47.3