From 072efe5d47e1c1c3172ee4815dffcba8177717b2 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Fri, 11 Jun 2010 09:35:25 +0100 Subject: [PATCH] libxl: Fix blktap2 for xl cset 21586:c3c2bcafe471 Avoids a double free on automatic memory. Signed-off-by: Daniel Stodden --- tools/libxl/libxl.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 87fd44d058..c502299e27 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -1253,13 +1253,15 @@ static char *get_blktap2_device(struct libxl_ctx *ctx, static char *make_blktap2_device(struct libxl_ctx *ctx, const char *name, const char *type) { - char *params, *devname; + char *params, *devname = NULL, *rv = NULL; int err; params = libxl_sprintf(ctx, "%s:%s", type, name); - devname = NULL; err = tap_ctl_create(params, &devname); - free(params); - return err ? NULL : devname; + if (!err) { + rv = libxl_sprintf(ctx, devname); + free(devname); + } + return rv; } int libxl_device_disk_add(struct libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk) -- 2.39.5