From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [PATCH 2/3] libxl: Do not use-after-free on ao progress reporting Date: Wed, 16 May 2012 16:25:13 +0100 Message-ID: <1337181914-7199-3-git-send-email-ian.jackson@eu.citrix.com> References: <1337181914-7199-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: <1337181914-7199-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: Ian Jackson List-Id: xen-devel@lists.xenproject.org We need to call libxl__free_all after egc_run_callbacks since some of the callbacks might be ao progress reports allocated from the egc's gc. Fixes a segfault in egc_run_callbacks. Signed-off-by: Ian Jackson --- tools/libxl/libxl_event.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c index 7e71a88..d3bb4da 100644 --- a/tools/libxl/libxl_event.c +++ b/tools/libxl/libxl_event.c @@ -1039,9 +1039,9 @@ static void egc_run_callbacks(libxl__egc *egc) void libxl__egc_cleanup(libxl__egc *egc) { EGC_GC; - libxl__free_all(gc); - egc_run_callbacks(egc); + + libxl__free_all(gc); } /* -- 1.7.2.5