mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
libxl: Remove unnecessary buffer zeroing and zalloc()
When reading the console, xen overwrites the contents of the buffer, so there is no need to zero the buffer before passing it to xen. Instead, add a NULL at the end of the buffer. While we are at it, change the zalloc() of the buffer back to malloc() as it was before bdf4131 (libxl: don't leak buf in libxl_xen_console_read_start error handling, 2013-12-03). The comment in that commit message says that the intent of the commit was to change malloc+memset to zalloc(), but only for the libxl_xen_console_reader struct, not for the buffer. Signed-off-by: Javi Merino <javi.merino@cloud.com> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
This commit is contained in:
1 parent
bb03169bcb
commit
ba5755798e
1 file changed
+2
-2
@@ -783,7 +783,7 @@ libxl_xen_console_reader *
|
||||
unsigned int size = 16384 + 1;
|
||||
|
||||
cr = libxl__zalloc(NOGC, sizeof(libxl_xen_console_reader));
|
||||
cr->buffer = libxl__zalloc(NOGC, size);
|
||||
cr->buffer = libxl__malloc(NOGC, size);
|
||||
cr->size = size;
|
||||
cr->clear = clear;
|
||||
cr->incremental = 1;
|
||||
@@ -813,7 +813,6 @@ int libxl_xen_console_read_line(libxl_ctx *ctx,
|
||||
unsigned int nr_chars = cr->size - 1;
|
||||
GC_INIT(ctx);
|
||||
|
||||
memset(cr->buffer, 0, cr->size);
|
||||
ret = xc_readconsolering(ctx->xch, cr->buffer, &nr_chars,
|
||||
cr->clear, cr->incremental, &cr->index);
|
||||
if (ret < 0) {
|
||||
@@ -823,6 +822,7 @@ int libxl_xen_console_read_line(libxl_ctx *ctx,
|
||||
}
|
||||
if (!ret) {
|
||||
if (nr_chars) {
|
||||
cr->buffer[nr_chars] = '\0';
|
||||
*line_r = cr->buffer;
|
||||
ret = 1;
|
||||
} else {
|
||||
|
||||