From d8ee40befca173f74174159970340143cb372b6b Mon Sep 17 00:00:00 2001 From: Roger Pau Monne Date: Wed, 11 Apr 2012 14:14:10 +0100 Subject: [PATCH] libxl: remove poller from list in libxl__poller_get 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 Committed-by: Ian Jackson --- tools/libxl/libxl_event.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c index 5ac6334c1a..9cb172aef2 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) { -- 2.30.2