diff --git a/lib/ssluse.c b/lib/ssluse.c index 50bc621faf14157aa9fd444f140c7bcb1e74554e..2125ba9143b87cb40cd506c5e7957a0bda64857a 100644 --- a/lib/ssluse.c +++ b/lib/ssluse.c @@ -412,13 +412,15 @@ static int Kill_Single_Session(struct curl_ssl_session *session) int Curl_SSL_Close_All(struct SessionHandle *data) { int i; - for(i=0; i< data->set.ssl.numsessions; i++) - /* the single-killer function handles empty table slots */ - Kill_Single_Session(&data->set.ssl.session[i]); - - /* free the cache data */ - free(data->set.ssl.session); + if(data->set.ssl.session) { + for(i=0; i< data->set.ssl.numsessions; i++) + /* the single-killer function handles empty table slots */ + Kill_Single_Session(&data->set.ssl.session[i]); + + /* free the cache data */ + free(data->set.ssl.session); + } return 0; }