[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] libxl: don't leak buf in libxl_xen_console_read_start error handling
commit 39eaabdf4131b5e64c2d4e370fdecd0cb4f046f1 Author: Matthew Daley <mattd@xxxxxxxxxxx> AuthorDate: Tue Dec 3 14:01:05 2013 +1300 Commit: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> CommitDate: Tue Dec 3 17:25:44 2013 +0000 libxl: don't leak buf in libxl_xen_console_read_start error handling Use libxl__zallocs instead of plain mallocs + memset. Coverity-ID: 1055889 Signed-off-by: Matthew Daley <mattd@xxxxxxxxxxx> Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- tools/libxl/libxl.c | 19 ++++--------------- 1 files changed, 4 insertions(+), 15 deletions(-) diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index a57d571..771b45b 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -5111,29 +5111,18 @@ int libxl_send_debug_keys(libxl_ctx *ctx, char *keys) libxl_xen_console_reader * libxl_xen_console_read_start(libxl_ctx *ctx, int clear) { + GC_INIT(ctx); libxl_xen_console_reader *cr; unsigned int size = 16384; - char *buf = malloc(size); - - if (!buf) { - LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "cannot malloc buffer for libxl_xen_console_reader," - " size is %u", size); - return NULL; - } - cr = malloc(sizeof(libxl_xen_console_reader)); - if (!cr) { - LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "cannot malloc libxl_xen_console_reader"); - return NULL; - } - - memset(cr, 0, sizeof(libxl_xen_console_reader)); - cr->buffer = buf; + cr = libxl__zalloc(NOGC, sizeof(libxl_xen_console_reader)); + cr->buffer = libxl__zalloc(NOGC, size); cr->size = size; cr->count = size; cr->clear = clear; cr->incremental = 1; + GC_FREE; return cr; } -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |