mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
libxl: strdup disk path before put it in qemu args array.
In libxl_build_device_model_args_new, the path to the disk image are freeed before there was actually use to make the arguments list of Qemu. The patch strdups it. This patch also changes argv[0] of the device model. Now, it is the conventional argv[0], so is value come from info->device_model. Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com> --- tools/libxl/libxl.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-)
This commit is contained in:
1 parent
3c97df22be
commit
5b4d52decb
1 file changed
+5
-5
+5
-5
@@ -1256,9 +1256,9 @@ static char ** libxl_build_device_model_args_new(libxl__gc *gc,
|
||||
if (!dm_args)
|
||||
return NULL;
|
||||
|
||||
flexarray_set(dm_args, num++, "qemu-system-xen");
|
||||
flexarray_set(dm_args, num++, "-xen-domid");
|
||||
flexarray_set(dm_args, num++, libxl__strdup(gc, info->device_model));
|
||||
|
||||
flexarray_set(dm_args, num++, "-xen-domid");
|
||||
flexarray_set(dm_args, num++, libxl__sprintf(gc, "%d", info->domid));
|
||||
|
||||
if (info->dom_name) {
|
||||
@@ -1378,10 +1378,10 @@ static char ** libxl_build_device_model_args_new(libxl__gc *gc,
|
||||
for (i; i < nb; i++) {
|
||||
if ( disks[i].is_cdrom ) {
|
||||
flexarray_set(dm_args, num++, "-cdrom");
|
||||
flexarray_set(dm_args, num++, disks[i].physpath);
|
||||
}else{
|
||||
flexarray_set(dm_args, num++, libxl__strdup(gc, disks[i].physpath));
|
||||
} else {
|
||||
flexarray_set(dm_args, num++, libxl__sprintf(gc, "-%s", disks[i].virtpath));
|
||||
flexarray_set(dm_args, num++, disks[i].physpath);
|
||||
flexarray_set(dm_args, num++, libxl__strdup(gc, disks[i].physpath));
|
||||
}
|
||||
libxl_device_disk_destroy(&disks[i]);
|
||||
}
|
||||
|
||||