[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] xl: Return void from libxl_free() and libxl_free_all()
# HG changeset patch # User "Gianni Tedesco (3P)" <gianni.tedesco@xxxxxxxxxx> # Date 1281528107 -3600 # Node ID 9d1bbf6959e46937e1ecab1f15b829c8ab55419b # Parent cb71d0d30f0ce90193b8bff641127a02d44182ac xl: Return void from libxl_free() and libxl_free_all() Also abort() if a pointer passed in to libxl_free() cannot be found in the mini-gc structures. This exposes several real bugs (ie. not just the libxl_free() something that was allocated via malloc variety). Signed-off-by: Gianni Tedesco <gianni.tedesco@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> --- tools/libxl/libxl_internal.c | 15 +++++++-------- tools/libxl/libxl_internal.h | 4 ++-- 2 files changed, 9 insertions(+), 10 deletions(-) diff -r cb71d0d30f0c -r 9d1bbf6959e4 tools/libxl/libxl_internal.c --- a/tools/libxl/libxl_internal.c Tue Aug 10 15:35:13 2010 +0100 +++ b/tools/libxl/libxl_internal.c Wed Aug 11 13:01:47 2010 +0100 @@ -59,26 +59,26 @@ int libxl_ptr_add(libxl_ctx *ctx, void * return 0; } -int libxl_free(libxl_ctx *ctx, void *ptr) +void libxl_free(libxl_ctx *ctx, void *ptr) { int i; if (!ptr) - return 0; + return; /* remove the pointer from the tracked ptrs */ for (i = 0; i < ctx->alloc_maxsize; i++) { if (ctx->alloc_ptrs[i] == ptr) { ctx->alloc_ptrs[i] = NULL; free(ptr); - return 0; + return; } } /* haven't find the pointer, really bad */ - return -1; -} - -int libxl_free_all(libxl_ctx *ctx) + abort(); +} + +void libxl_free_all(libxl_ctx *ctx) { void *ptr; int i; @@ -88,7 +88,6 @@ int libxl_free_all(libxl_ctx *ctx) ctx->alloc_ptrs[i] = NULL; free(ptr); } - return 0; } void *libxl_zalloc(libxl_ctx *ctx, int bytes) diff -r cb71d0d30f0c -r 9d1bbf6959e4 tools/libxl/libxl_internal.h --- a/tools/libxl/libxl_internal.h Tue Aug 10 15:35:13 2010 +0100 +++ b/tools/libxl/libxl_internal.h Wed Aug 11 13:01:47 2010 +0100 @@ -108,8 +108,8 @@ int xs_writev(struct xs_handle *xsh, xs_ /* memory allocation tracking/helpers */ int libxl_ptr_add(libxl_ctx *ctx, void *ptr); -int libxl_free(libxl_ctx *ctx, void *ptr); -int libxl_free_all(libxl_ctx *ctx); +void libxl_free(libxl_ctx *ctx, void *ptr); +void libxl_free_all(libxl_ctx *ctx); void *libxl_zalloc(libxl_ctx *ctx, int bytes); void *libxl_calloc(libxl_ctx *ctx, size_t nmemb, size_t size); char *libxl_sprintf(libxl_ctx *ctx, const char *fmt, ...) PRINTF_ATTRIBUTE(2, 3); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |