From be299a4dba0362940062f7f07c76862ecf226522 Mon Sep 17 00:00:00 2001 From: Alan Jenkins Date: Sat, 22 Apr 2017 21:16:44 +0100 Subject: multi: clarify condition in curl_multi_wait `if(nfds || extra_nfds) {` is followed by `malloc(nfds * ...)`. If `extra_fs` could be non-zero when `nfds` was zero, then we have `malloc(0)` which is allowed to return `NULL`. But, malloc returning NULL can be confusing. In this code, the next line would treat the NULL as an allocation failure. It turns out, if `nfds` is zero then `extra_nfds` must also be zero. The final value of `nfds` includes `extra_nfds`. So the test for `extra_nfds` is redundant. It can only confuse the reader. Closes #1439 --- lib/multi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/multi.c') diff --git a/lib/multi.c b/lib/multi.c index f16776033..26d5f1bd6 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -1014,7 +1014,7 @@ CURLMcode curl_multi_wait(struct Curl_multi *multi, curlfds = nfds; /* number of internal file descriptors */ nfds += extra_nfds; /* add the externally provided ones */ - if(nfds || extra_nfds) { + if(nfds) { if(nfds > NUM_POLLS_ON_STACK) { ufds = malloc(nfds * sizeof(struct pollfd)); if(!ufds) -- cgit v1.2.3