diff --git a/CHANGES b/CHANGES index 6f81cd295..ebab24763 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,9 @@ Changelog Daniel (22 December 2006) +- David McCreedy fixed a bad call to getsockname() that wrongly used a size_t + variable to point to when it should be a socklen_t. + - When setting a proxy with environment variables and (for example) running 'curl [URL]' with a URL without a protocol prefix, curl would not send a correct request as it failed to add the protocol prefix. diff --git a/lib/connect.c b/lib/connect.c index 1ffb98b37..2b3897204 100644 --- a/lib/connect.c +++ b/lib/connect.c @@ -384,11 +384,10 @@ static CURLcode bindlocal(struct connectdata *conn, if( bind(sockfd, sock, socksize) >= 0) { /* we succeeded to bind */ struct Curl_sockaddr_storage add; - size_t size; + socklen_t size; size = sizeof(add); - if(getsockname(sockfd, (struct sockaddr *) &add, - (socklen_t *)&size)<0) { + if(getsockname(sockfd, (struct sockaddr *) &add, &size) < 0) { failf(data, "getsockname() failed"); return CURLE_HTTP_PORT_FAILED; }