diff --git a/CHANGES b/CHANGES index 0f8b4691d7..f97d26433f 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ +2865. [bug] memset to zero event.data. [RT #20986] + 2864. [bug] Direct SIG/RRSIG queries were not handled correctly. [RT #21050] diff --git a/lib/isc/unix/socket.c b/lib/isc/unix/socket.c index 91bb5b3766..d168057202 100644 --- a/lib/isc/unix/socket.c +++ b/lib/isc/unix/socket.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: socket.c,v 1.329 2010/03/11 04:43:57 marka Exp $ */ +/* $Id: socket.c,v 1.330 2010/03/12 03:22:57 marka Exp $ */ /*! \file */ @@ -806,6 +806,7 @@ watch_fd(isc__socketmgr_t *manager, int fd, int msg) { event.events = EPOLLIN; else event.events = EPOLLOUT; + memset(&event.data, 0, sizeof(event.data)); event.data.fd = fd; if (epoll_ctl(manager->epoll_fd, EPOLL_CTL_ADD, fd, &event) == -1 && errno != EEXIST) { @@ -873,6 +874,7 @@ unwatch_fd(isc__socketmgr_t *manager, int fd, int msg) { event.events = EPOLLIN; else event.events = EPOLLOUT; + memset(&event.data, 0, sizeof(event.data)); event.data.fd = fd; if (epoll_ctl(manager->epoll_fd, EPOLL_CTL_DEL, fd, &event) == -1 && errno != ENOENT) {