From 3e8822e0e23f81dc9a65d3fe675f5a460a48cc42 Mon Sep 17 00:00:00 2001 From: Willem Toorop Date: Wed, 15 Feb 2017 11:43:07 +0100 Subject: [PATCH] Fix uninitialized data error in valgrind check --- src/extension/poll_eventloop.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/extension/poll_eventloop.c b/src/extension/poll_eventloop.c index d85e254f..1eba706a 100644 --- a/src/extension/poll_eventloop.c +++ b/src/extension/poll_eventloop.c @@ -324,16 +324,18 @@ poll_eventloop_run_once(getdns_eventloop *loop, int blocking) } i = 0; HASH_ITER(hh, poll_loop->fd_events, s, tmp) { - if (s->event->read_cb) { - poll_loop->pfds[i].fd = s->id; + if (!s->event->read_cb && !s->event->write_cb) + continue; + poll_loop->pfds[i].fd = s->id; + poll_loop->pfds[i].events = 0; + poll_loop->pfds[i].revents = 0; /* <-- probably not needed */ + if (s->event->read_cb) poll_loop->pfds[i].events |= POLLIN; - } - if (s->event->write_cb) { - poll_loop->pfds[i].fd = s->id; + if (s->event->write_cb) poll_loop->pfds[i].events |= POLLOUT; - } i++; } + assert(i == num_pfds); if (timeout == TIMEOUT_FOREVER) { poll_timeout = -1;