|
[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 |