From: Daniel Stenberg Date: Fri, 31 May 2019 21:00:06 +0000 (+0200) Subject: singlesocket: use separate variable for inner loop X-Git-Tag: curl-7_65_1~13 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c36f42839d88b0e4c938e80ebd5da4c765b0264e;p=curl 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 Closes #3973 --- 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! */