aboutsummaryrefslogtreecommitdiff
path: root/lib/vauth/spnego_sspi.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2019-02-25 18:12:51 +0100
committerDaniel Stenberg <daniel@haxx.se>2019-02-26 10:20:21 +0100
commit880cd5dd2040826b8a1c49ecf59a385ea775a3d3 (patch)
treedf4d2466d48ea75f9c098891a8170484415793e2 /lib/vauth/spnego_sspi.c
parent8eddb8f4259193633cfc95a42603958a89b31de5 (diff)
strerror: make the strerror function use local buffers
Instead of using a fixed 256 byte buffer in the connectdata struct. In my build, this reduces the size of the connectdata struct by 11.8%, from 2160 to 1904 bytes with no functionality or performance loss. This also fixes a bug in schannel's Curl_verify_certificate where it called Curl_sspi_strerror when it should have called Curl_strerror for string from GetLastError. the only effect would have been no text or the wrong text being shown for the error. Co-authored-by: Jay Satiro Closes #3612
Diffstat (limited to 'lib/vauth/spnego_sspi.c')
-rw-r--r--lib/vauth/spnego_sspi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/vauth/spnego_sspi.c b/lib/vauth/spnego_sspi.c
index 00d840465..98c471e58 100644
--- a/lib/vauth/spnego_sspi.c
+++ b/lib/vauth/spnego_sspi.c
@@ -248,8 +248,9 @@ CURLcode Curl_auth_decode_spnego_message(struct Curl_easy *data,
free(chlg);
if(GSS_ERROR(nego->status)) {
+ char buffer[STRERROR_LEN];
failf(data, "InitializeSecurityContext failed: %s",
- Curl_sspi_strerror(data->conn, nego->status));
+ Curl_sspi_strerror(nego->status, buffer, sizeof(buffer)));
return CURLE_OUT_OF_MEMORY;
}