Index: epoll.c
===================================================================
--- epoll.c	(revision 5589)
+++ epoll.c	(revision 5590)
@@ -141,7 +141,7 @@
 	epollop->epfd = epfd;
 
 	/* Initalize fields */
-	epollop->events = malloc(nfiles * sizeof(struct epoll_event));
+	epollop->events = calloc(nfiles, sizeof(struct epoll_event));
 	if (epollop->events == NULL) {
 		free(epollop);
 		return (NULL);
@@ -226,6 +226,7 @@
 		struct event *evread = NULL, *evwrite = NULL;
 
 		evep = (struct evepoll *)events[i].data.ptr;
+		if (!evep) continue;
 
 		if (what & (EPOLLHUP|EPOLLERR)) {
 			evread = evep->evread;
