[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xl: fix leak in libxl_wait_for_backend()
On Tue, 2010-08-17 at 14:08 +0100, Marc - A. Dahlhaus wrote: > Am Dienstag, den 17.08.2010, 13:43 +0100 schrieb Gianni Tedesco: > > Another one introduced since the gc patch-set. > > > > Signed-off-by: Gianni Tedesco <gianni.tedesco@xxxxxxxxxx> > > > --8<-- > > +out: > > libxl_free_all(&gc); > > return -1; > This needs to be rc instead of -1 then? > > Marc Of course, yes, how foolish of me. 8<---------------------------------------------------------- Another one introduced since the gc patch-set. Signed-off-by: Gianni Tedesco <gianni.tedesco@xxxxxxxxxx> diff -r f353f1ac38f6 tools/libxl/libxl_device.c --- a/tools/libxl/libxl_device.c Tue Aug 17 12:45:44 2010 +0100 +++ b/tools/libxl/libxl_device.c Tue Aug 17 14:12:53 2010 +0100 @@ -457,6 +457,7 @@ int libxl_wait_for_backend(libxl_ctx *ct unsigned int len; char *p; char *path = libxl_sprintf(&gc, "%s/state", be_path); + int rc = -1; while (watchdog > 0) { p = xs_read(ctx->xsh, XBT_NULL, path, &len); @@ -468,10 +469,11 @@ int libxl_wait_for_backend(libxl_ctx *ct XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "Failed to access backend %s", be_path); } - return -1; + goto out; } else { if (!strcmp(p, state)) { - return 0; + rc = 0; + goto out; } else { usleep(100000); watchdog--; @@ -479,7 +481,8 @@ int libxl_wait_for_backend(libxl_ctx *ct } } XL_LOG(ctx, XL_LOG_ERROR, "Backend %s not ready", be_path); +out: libxl_free_all(&gc); - return -1; + return rc; } _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |