|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] libxl: do not call exit() in libxl_device_vtpm_list
On Wed, 2013-05-08 at 10:35 +0100, Ian Campbell wrote:
> On Wed, 2013-05-08 at 04:47 +0100, Marek Marczykowski wrote:
> > Signal error with NULL return value, do not terminate the whole process.
>
> Ouch! Good catch.
>
> > Signed-off-by: Marek Marczykowski <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
I've applied this to staging. Is anyone able to take care of the memory
leak I mentioned below?
I think this should go into 4.3.1 if not 4.3.0.
> > ---
> > tools/libxl/libxl.c | 11 ++++++-----
> > 1 file changed, 6 insertions(+), 5 deletions(-)
> >
> > diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> > index 03fd35a..5b9a3df 100644
> > --- a/tools/libxl/libxl.c
> > +++ b/tools/libxl/libxl.c
> > @@ -1860,11 +1860,12 @@ libxl_device_vtpm *libxl_device_vtpm_list(libxl_ctx
> > *ctx, uint32_t domid, int *n
> > vtpm->backend_domid = atoi(tmp);
> >
> > tmp = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/uuid",
> > be_path));
> > - if(tmp) {
> > - if(libxl_uuid_from_string(&(vtpm->uuid), tmp)) {
> > - LOG(ERROR, "%s/uuid is a malformed uuid?? (%s) Probably a
> > bug!!\n", be_path, tmp);
> > - exit(1);
> > - }
> > + if (tmp) {
> > + if(libxl_uuid_from_string(&(vtpm->uuid), tmp)) {
> > + LOG(ERROR, "%s/uuid is a malformed uuid?? (%s) Probably
> > a bug!!\n", be_path, tmp);
> > + free(vtpms);
>
> I think this also needs to libxl_device_vtpm_dispose any prior entries
> in the array. libxl_device_vtpm_list_free() should be helpful here.
>
> > + return NULL;
> > + }
> > }
> > }
> > }
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |