Commit cd3aba1a authored by Jay Satiro's avatar Jay Satiro
Browse files

getinfo: CURLINFO_ACTIVESOCKET: fix bad socket value

- 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
parent f6fbbd6d
Loading
Loading
Loading
Loading
+1 −12
Original line number Diff line number Diff line
@@ -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;