From: Stefan Eissing Date: Mon, 13 Oct 2025 09:32:17 +0000 (+0200) Subject: socks_sspi: use the correct free function X-Git-Tag: rc-8_17_0-3~140 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1d01d4975f540f3a363b38e1296aead62130fc6d;p=thirdparty%2Fcurl.git socks_sspi: use the correct free function When freeing buffers allocated by SSPI, use its own function, not free(). Reported-by: Joshua Rogers Closes #19046 --- diff --git a/lib/socks_sspi.c b/lib/socks_sspi.c index 54049e8c99..1077019b11 100644 --- a/lib/socks_sspi.c +++ b/lib/socks_sspi.c @@ -590,9 +590,12 @@ error: Curl_pSecFn->FreeContextBuffer(sspi_send_token.pvBuffer); if(names.sUserName) Curl_pSecFn->FreeContextBuffer(names.sUserName); - free(sspi_w_token[0].pvBuffer); - free(sspi_w_token[1].pvBuffer); - free(sspi_w_token[2].pvBuffer); + if(sspi_w_token[0].pvBuffer) + Curl_pSecFn->FreeContextBuffer(sspi_w_token[0].pvBuffer); + if(sspi_w_token[1].pvBuffer) + Curl_pSecFn->FreeContextBuffer(sspi_w_token[1].pvBuffer); + if(sspi_w_token[2].pvBuffer) + Curl_pSecFn->FreeContextBuffer(sspi_w_token[2].pvBuffer); free(etbuf); return result; }