]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
socks_sspi: use the correct free function
authorStefan Eissing <stefan@eissing.org>
Mon, 13 Oct 2025 09:32:17 +0000 (11:32 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 17 Oct 2025 14:59:11 +0000 (16:59 +0200)
When freeing buffers allocated by SSPI, use its own function, not free().

Reported-by: Joshua Rogers
Closes #19046

lib/socks_sspi.c

index 54049e8c99284a37971193132a62cea63124e0b9..1077019b11c5ea63e86004b125e162e516ecf77c 100644 (file)
@@ -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;
 }