chiark
/
gitweb
/
~mdw
/
secnet
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Poll loop: fix read of unused fds[]
[secnet]
/
secnet.c
diff --git
a/secnet.c
b/secnet.c
index 2bf50fd40992406108e297cb0dd63cbfe0d24244..36750ec39ae4ffd51979f375d3c37fb9d00e1747 100644
(file)
--- a/
secnet.c
+++ b/
secnet.c
@@
-309,8
+309,11
@@
static void run(void)
((uint64_t)tv_now_global.tv_usec/(uint64_t)1000);
idx=0;
for (i=reg; i; i=i->next) {
((uint64_t)tv_now_global.tv_usec/(uint64_t)1000);
idx=0;
for (i=reg; i; i=i->next) {
- if(fds[idx].revents & POLLNVAL) {
- fatal("run: poll (%s) set POLLNVAL", i->desc);
+ int check;
+ for (check=0; check<i->nfds; check++) {
+ if(fds[idx+check].revents & POLLNVAL) {
+ fatal("run: poll (%s#%d) set POLLNVAL", i->desc, check);
+ }
}
i->after(i->state, fds+idx, i->nfds);
idx+=i->nfds;
}
i->after(i->state, fds+idx, i->nfds);
idx+=i->nfds;