]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
schannel: assign result before using it
authorDaniel Stenberg <daniel@haxx.se>
Sat, 20 Sep 2025 15:14:10 +0000 (17:14 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Sat, 20 Sep 2025 15:30:59 +0000 (17:30 +0200)
curl_easy_strerror(result) was called *before* result was assigned.

Reported in Joshua's sarif data

Closes #18642

lib/vtls/schannel.c

index b511c43277e604b6d358cbdc0e7a0d6ac41e751c..8b7f1d9306c13f747c7615e853955a22f1219aba 100644 (file)
@@ -2451,9 +2451,9 @@ static CURLcode schannel_shutdown(struct Curl_cfilter *cf,
       Curl_pSecFn->FreeContextBuffer(outbuf.pvBuffer);
       if(!result) {
         if(written < outbuf.cbBuffer) {
+          result = CURLE_SEND_ERROR;
           failf(data, "schannel: failed to send close msg: %s"
                 " (bytes written: %zu)", curl_easy_strerror(result), written);
-          result = CURLE_SEND_ERROR;
           goto out;
         }
         backend->sent_shutdown = TRUE;
@@ -2466,8 +2466,8 @@ static CURLcode schannel_shutdown(struct Curl_cfilter *cf,
       }
       else {
         if(!backend->recv_connection_closed) {
-          failf(data, "schannel: error sending close msg: %d", result);
           result = CURLE_SEND_ERROR;
+          failf(data, "schannel: error sending close msg: %d", result);
           goto out;
         }
         /* Looks like server already closed the connection.