From: Josef 'Jeff' Sipek Date: Thu, 14 Jan 2016 19:12:07 +0000 (-0500) Subject: devpollmplexer is leaky X-Git-Tag: dnsdist-1.0.0-alpha2~74^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6b1933ac512976ee481cfcecc6bb1726b9c87178;p=thirdparty%2Fpdns.git devpollmplexer is leaky closes #3001 --- diff --git a/pdns/devpollmplexer.cc b/pdns/devpollmplexer.cc index e79bff0a5d..6698325814 100644 --- a/pdns/devpollmplexer.cc +++ b/pdns/devpollmplexer.cc @@ -104,11 +104,15 @@ int DevPollFDMultiplexer::run(struct timeval* now) int ret=ioctl(d_devpollfd, DP_POLL, &dvp); gettimeofday(now,0); // MANDATORY! - if(ret < 0 && errno!=EINTR) + if(ret < 0 && errno!=EINTR) { + delete[] dvp.dp_fds; throw FDMultiplexerException("/dev/poll returned error: "+stringerror()); + } - if(ret < 1) // thanks AB! + if(ret < 1) { // thanks AB! + delete[] dvp.dp_fds; return 0; + } d_inrun=true; for(int n=0; n < ret; ++n) {