diff options
author | Alessandro Ghedini <alessandro@ghedini.me> | 2016-12-30 11:28:41 +0000 |
---|---|---|
committer | Alessandro Ghedini <alessandro@ghedini.me> | 2016-12-30 11:28:41 +0000 |
commit | d4e5ed3bd25935c7dc74a5fd183032d7649d2db8 (patch) | |
tree | 7154e27515e1426af43dd7eaddb2782bdd3a05e4 /lib/socks_sspi.c | |
parent | 39d7693eaf9567b6ef94cc319976834f9008f03c (diff) |
New upstream version 7.52.1
Diffstat (limited to 'lib/socks_sspi.c')
-rw-r--r-- | lib/socks_sspi.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/socks_sspi.c b/lib/socks_sspi.c index 60534903..edc73ad2 100644 --- a/lib/socks_sspi.c +++ b/lib/socks_sspi.c @@ -45,7 +45,7 @@ */ static int check_sspi_err(struct connectdata *conn, SECURITY_STATUS status, - const char* function) + const char *function) { if(status != SEC_E_OK && status != SEC_I_COMPLETE_AND_CONTINUE && @@ -86,6 +86,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex, unsigned char socksreq[4]; /* room for GSS-API exchange header only */ const char *service = data->set.str[STRING_PROXY_SERVICE_NAME] ? data->set.str[STRING_PROXY_SERVICE_NAME] : "rcmd"; + const size_t service_length = strlen(service); /* GSS-API request looks like * +----+------+-----+----------------+ @@ -102,11 +103,13 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex, return CURLE_OUT_OF_MEMORY; } else { - service_name = malloc(strlen(service) + strlen(conn->proxy.name) + 2); + service_name = malloc(service_length + + strlen(conn->socks_proxy.host.name) + 2); if(!service_name) return CURLE_OUT_OF_MEMORY; - snprintf(service_name, strlen(service) +strlen(conn->proxy.name)+2, - "%s/%s", service, conn->proxy.name); + snprintf(service_name, service_length + + strlen(conn->socks_proxy.host.name)+2, "%s/%s", + service, conn->socks_proxy.host.name); } input_desc.cBuffers = 1; |