aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES3
-rw-r--r--lib/connect.c5
2 files changed, 5 insertions, 3 deletions
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;
}