diff options
author | Stefan Bühler <stbuehler@web.de> | 2019-02-16 10:52:49 +0100 |
---|---|---|
committer | Stefan Bühler <stbuehler@web.de> | 2019-02-16 10:52:49 +0100 |
commit | 1bd1d559b512876b8dca5dafa4d328cc6a837a37 (patch) | |
tree | 3b54d63b6807fda9a8e4df3ebc31d4dd1a37a86d /src/fdevent_poll.c | |
parent | f5f221eda837cecb3a52c297ac0ff36665e165e2 (diff) | |
download | lighttpd-git-1bd1d559b512876b8dca5dafa4d328cc6a837a37.tar.gz |
[core] don't call fd event handlers more than once, they might already be gone (fixes segfault)
Diffstat (limited to 'src/fdevent_poll.c')
-rw-r--r-- | src/fdevent_poll.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/fdevent_poll.c b/src/fdevent_poll.c index d88cd743..ea52d84e 100644 --- a/src/fdevent_poll.c +++ b/src/fdevent_poll.c @@ -164,7 +164,7 @@ static int fdevent_poll_poll(fdevents *ev, int timeout_ms) { for (int ndx = -1, i = 0; i < n; ++i) { fdnode *fdn; ndx = fdevent_poll_event_next_fdndx(ev, ndx); - if (-1 == ndx) continue; + if (-1 == ndx) break; fdn = ev->fdarray[ndx]; if (0 == ((uintptr_t)fdn & 0x3)) { int revents = fdevent_poll_event_get_revent(ev, i); |