From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [PATCH 05/31] libxl: remove poller from list in libxl__poller_get Date: Tue, 10 Apr 2012 20:07:39 +0100 Message-ID: <1334084885-14474-6-git-send-email-ian.jackson@eu.citrix.com> References: <1334084885-14474-1-git-send-email-ian.jackson@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1334084885-14474-1-git-send-email-ian.jackson@eu.citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Roger Pau Monne List-Id: xen-devel@lists.xenproject.org From: Roger Pau Monne Remove poller from the list once it has been requested. Fixes a double-free bug. Signed-off-by: Roger Pau Monne Acked-by: Ian Jackson --- tools/libxl/libxl_event.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c index 5ac6334..9cb172a 100644 --- a/tools/libxl/libxl_event.c +++ b/tools/libxl/libxl_event.c @@ -1010,8 +1010,10 @@ libxl__poller *libxl__poller_get(libxl_ctx *ctx) int rc; libxl__poller *p = LIBXL_LIST_FIRST(&ctx->pollers_idle); - if (p) + if (p) { + LIBXL_LIST_REMOVE(p, entry); return p; + } p = malloc(sizeof(*p)); if (!p) { -- 1.7.2.5