Arve Knudsen found a flaw in curl_multi_fdset() for systems where
authorDaniel Stenberg <daniel@haxx.se>
Fri, 23 Jun 2006 22:07:06 +0000 (22:07 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 23 Jun 2006 22:07:06 +0000 (22:07 +0000)
curl_socket_t is unsigned (like Windows) that could cause it to wrongly
return a max fd of -1.

CHANGES
RELEASE-NOTES
lib/multi.c

diff --git a/CHANGES b/CHANGES
index eee1bb3..6cf3d62 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,11 @@
 
                                   Changelog
 
+Daniel (23 June 2006)
+- Arve Knudsen found a flaw in curl_multi_fdset() for systems where
+  curl_socket_t is unsigned (like Windows) that could cause it to wrongly
+  return a max fd of -1.
+
 Daniel (20 June 2006)
 - Peter Silva introduced CURLOPT_MAX_SEND_SPEED_LARGE and
   CURLOPT_MAX_RECV_SPEED_LARGE that limit tha maximum rate libcurl is allowed
index 7936724..03bf9a6 100644 (file)
@@ -16,6 +16,7 @@ This release includes the following changes:
 
 This release includes the following bugfixes:
 
+ o curl_multi_fdset() could return a crazy max_fd value
  o Made -K on a file that couldn't be read cause a warning to be displayed.
 
 Other curl-related news:
@@ -30,6 +31,6 @@ New curl mirrors:
 This release would not have looked like this without help, code, reports and
 advice from friends like these:
 
- Dan Fandrich, Peter Silva
+ Dan Fandrich, Peter Silva, Arve Knudsen
 
         Thanks! (and sorry if I forgot to mention someone)
index 9201402..cfb749d 100644 (file)
@@ -504,7 +504,7 @@ CURLMcode curl_multi_fdset(CURLM *multi_handle,
         /* this socket is unused, break out of loop */
         break;
       else {
-        if(s > (curl_socket_t)this_max_fd)
+        if((int)s > this_max_fd)
           this_max_fd = (int)s;
       }
     }