]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
server/sws: fix asan warning on use of uninitialized variable
authorDaniel Stenberg <daniel@haxx.se>
Fri, 29 May 2020 11:04:25 +0000 (13:04 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 29 May 2020 11:05:09 +0000 (13:05 +0200)
tests/server/sws.c

index 49790f03adc1a99a83823bc3a8e91e84d4152690..b0f2a83d671d1e4c96f058c064807506411a8c1f 100644 (file)
@@ -2206,6 +2206,7 @@ int main(int argc, char *argv[])
     fd_set output;
     struct timeval timeout = {0, 250000L}; /* 250 ms */
     curl_socket_t maxfd = (curl_socket_t)-1;
+    int active;
 
     /* Clear out closed sockets */
     for(socket_idx = num_sockets - 1; socket_idx >= 1; --socket_idx) {
@@ -2253,6 +2254,7 @@ int main(int argc, char *argv[])
       /* Timed out - try again */
       continue;
     }
+    active = rc; /* a positive number */
 
     /* Check if the listening socket is ready to accept */
     if(FD_ISSET(all_sockets[0], &input)) {
@@ -2264,11 +2266,13 @@ int main(int argc, char *argv[])
         if(CURL_SOCKET_BAD == msgsock)
           goto sws_cleanup;
       } while(msgsock > 0);
+      active--;
     }
 
     /* Service all connections that are ready */
-    for(socket_idx = 1; socket_idx < num_sockets; ++socket_idx) {
+    for(socket_idx = 1; (socket_idx < num_sockets) && active; ++socket_idx) {
       if(FD_ISSET(all_sockets[socket_idx], &input)) {
+        active--;
         if(got_exit_signal)
           goto sws_cleanup;