Loading lib/vtls/schannel.c +10 −3 Original line number Original line Diff line number Diff line Loading @@ -7,7 +7,7 @@ * * * Copyright (C) 2012 - 2016, Marc Hoersken, <info@marc-hoersken.de> * Copyright (C) 2012 - 2016, Marc Hoersken, <info@marc-hoersken.de> * Copyright (C) 2012, Mark Salisbury, <mark.salisbury@hp.com> * Copyright (C) 2012, Mark Salisbury, <mark.salisbury@hp.com> * Copyright (C) 2012 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 2012 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * * This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms Loading Loading @@ -2013,8 +2013,15 @@ static int Curl_schannel_shutdown(struct connectdata *conn, int sockindex) /* free SSPI Schannel API credential handle */ /* free SSPI Schannel API credential handle */ if(BACKEND->cred) { if(BACKEND->cred) { /* * When this function is called from Curl_schannel_close() the connection * might not have an associated transfer so the check for conn->data is * necessary. */ if(conn->data) Curl_ssl_sessionid_lock(conn); Curl_ssl_sessionid_lock(conn); Curl_schannel_session_free(BACKEND->cred); Curl_schannel_session_free(BACKEND->cred); if(conn->data) Curl_ssl_sessionid_unlock(conn); Curl_ssl_sessionid_unlock(conn); BACKEND->cred = NULL; BACKEND->cred = NULL; } } Loading Loading
lib/vtls/schannel.c +10 −3 Original line number Original line Diff line number Diff line Loading @@ -7,7 +7,7 @@ * * * Copyright (C) 2012 - 2016, Marc Hoersken, <info@marc-hoersken.de> * Copyright (C) 2012 - 2016, Marc Hoersken, <info@marc-hoersken.de> * Copyright (C) 2012, Mark Salisbury, <mark.salisbury@hp.com> * Copyright (C) 2012, Mark Salisbury, <mark.salisbury@hp.com> * Copyright (C) 2012 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 2012 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * * This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms Loading Loading @@ -2013,8 +2013,15 @@ static int Curl_schannel_shutdown(struct connectdata *conn, int sockindex) /* free SSPI Schannel API credential handle */ /* free SSPI Schannel API credential handle */ if(BACKEND->cred) { if(BACKEND->cred) { /* * When this function is called from Curl_schannel_close() the connection * might not have an associated transfer so the check for conn->data is * necessary. */ if(conn->data) Curl_ssl_sessionid_lock(conn); Curl_ssl_sessionid_lock(conn); Curl_schannel_session_free(BACKEND->cred); Curl_schannel_session_free(BACKEND->cred); if(conn->data) Curl_ssl_sessionid_unlock(conn); Curl_ssl_sessionid_unlock(conn); BACKEND->cred = NULL; BACKEND->cred = NULL; } } Loading