From f069aab35ce2d6ffb81b322dd23ebc4a1d35ca85 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 31 May 2019 23:00:06 +0200 Subject: singlesocket: use separate variable for inner loop An inner loop within the singlesocket() function wrongly re-used the variable for the outer loop which then could cause an infinite loop. Change to using a separate variable! Reported-by: Eric Wu Fixes #3970 --- lib/multi.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/multi.c b/lib/multi.c index ec0318735..02f846033 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -2252,14 +2252,14 @@ static CURLMcode singlesocket(struct Curl_multi *multi, actions[i] = action; if(entry) { /* check if new for this transfer */ - for(i = 0; i< data->numsocks; i++) { - if(s == data->sockets[i]) { - prevaction = data->actions[i]; + int j; + for(j = 0; j< data->numsocks; j++) { + if(s == data->sockets[j]) { + prevaction = data->actions[j]; sincebefore = TRUE; break; } } - } else { /* this is a socket we didn't have before, add it to the hash! */ -- cgit v1.2.1