[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 04 of 10] libxl: Allocate memory for strings in libxl_device_disk
On Thu, 2011-06-02 at 23:35 +0100, Marek Marczykowski wrote: > # HG changeset patch > # User Marek Marczykowski <marmarek@xxxxxxxxxxxx> > # Date 1306962954 -7200 > # Node ID df639d3eef683460b6d5ab38296cbd90b26f60f0 > # Parent 81df382694fd6e208255197d8da19bfe435a2cbd > libxl: Allocate memory for strings in libxl_device_disk > > Memory for strings in libxl_device_disk must be allocated from outside of > libxl__gc to not be freed at the end of function (by libxl__free_all). > > Fixes xl block-detach > > Signed-off-by: Marek Marczykowski <marmarek@xxxxxxxxxxxx> > > diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c > --- a/tools/libxl/libxl_utils.c > +++ b/tools/libxl/libxl_utils.c > @@ -551,10 +551,10 @@ > disk->backend_domid = strtoul(val, NULL, 10); > disk->domid = domid; > be_path = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, > "%s/backend", diskpath)); > - disk->pdev_path = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, > "%s/params", be_path)); > + disk->pdev_path = strdup(libxl__xs_read(&gc, XBT_NULL, > libxl__sprintf(&gc, "%s/params", be_path))); > val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, "%s/type", > be_path)); > libxl_string_to_backend(ctx, val, &(disk->backend)); > - disk->vdev = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, "%s/dev", > be_path)); > + disk->vdev = strdup(libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, > "%s/dev", be_path))); I think it is acceptable to use xs_read() directly in both these cases and avoid the need to strdup. Ian. > val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, "%s/removable", > be_path)); > disk->unpluggable = !strcmp(val, "1"); > val = libxl__xs_read(&gc, XBT_NULL, libxl__sprintf(&gc, "%s/mode", > be_path)); > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |