getinfo: CURLINFO_ACTIVESOCKET: fix bad socket value
authorJay Satiro <raysatiro@yahoo.com>
Fri, 6 Nov 2015 05:30:16 +0000 (00:30 -0500)
committerJay Satiro <raysatiro@yahoo.com>
Fri, 6 Nov 2015 05:30:16 +0000 (00:30 -0500)
- Set user info param to the socket returned by Curl_getconnectinfo,
regardless of if the socket is bad. Effectively this means the user info
param now will receive CURL_SOCKET_BAD instead of -1 on bad socket.

- Remove incorrect comments.

CURLINFO_ACTIVESOCKET is documented to write CURL_SOCKET_BAD to user
info param but prior to this change it wrote -1.

Bug: https://github.com/bagder/curl/pull/518
Reported-by: Marcel Raad
lib/getinfo.c

index 7a687e8a2d5e10fb67e92d39757d2855f4730d1f..2a088973910ac7e7185258bd7a78e899582064b9 100644 (file)
@@ -335,20 +335,9 @@ static CURLcode getinfo_slist(struct SessionHandle *data, CURLINFO info,
 static CURLcode getinfo_socket(struct SessionHandle *data, CURLINFO info,
                                curl_socket_t *param_socketp)
 {
-  curl_socket_t sockfd;
-
   switch(info) {
   case CURLINFO_ACTIVESOCKET:
-    sockfd = Curl_getconnectinfo(data, NULL);
-
-    /* note: this is not a good conversion for systems with 64 bit sockets and
-       32 bit longs */
-    if(sockfd != CURL_SOCKET_BAD)
-      *param_socketp = sockfd;
-    else
-      /* this interface is documented to return -1 in case of badness, which
-         may not be the same as the CURL_SOCKET_BAD value */
-      *param_socketp = -1;
+    *param_socketp = Curl_getconnectinfo(data, NULL);
     break;
   default:
     return CURLE_UNKNOWN_OPTION;