From: Alex Jia Date: Tue, 19 Jul 2011 11:15:18 +0000 (+0800) Subject: util: avoid fds leak when virEventPollAddHandle fail X-Git-Tag: v0.9.4-rc1~133 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=463e8c2ff0f485c6038364af24d2ed1f48213ec0;p=thirdparty%2Flibvirt.git util: avoid fds leak when virEventPollAddHandle fail * src/util/event_poll.c: avoid file descriptors leak when virEventPollAddHandle fail on virEventPollInit function. --- diff --git a/src/util/event_poll.c b/src/util/event_poll.c index 285ba5056c..e2ae3a64e6 100644 --- a/src/util/event_poll.c +++ b/src/util/event_poll.c @@ -36,6 +36,7 @@ #include "event_poll.h" #include "memory.h" #include "util.h" +#include "files.h" #include "ignore-value.h" #include "virterror_internal.h" @@ -657,6 +658,8 @@ int virEventPollInit(void) virEventError(VIR_ERR_INTERNAL_ERROR, _("Unable to add handle %d to event loop"), eventLoop.wakeupfd[0]); + VIR_FORCE_CLOSE(eventLoop.wakeupfd[0]); + VIR_FORCE_CLOSE(eventLoop.wakeupfd[1]); return -1; }