[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] libxl: Fix format string abuses / vulnerabilities
# HG changeset patch # User Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> # Date 1288263945 -3600 # Node ID 2795279e7533b1955112877620b32731aec4ec2d # Parent da9b1aa3c3669792e3055770e1839c3e96590318 libxl: Fix format string abuses / vulnerabilities There are a few places where libxl__xs_write is passed a variable value to write to xenstore, but the semantics are that the first char* is a format string. So use "%s". This fixes the following errors reported by some newer compilers: libxl.c: In function "libxl_create_cpupool": libxl.c:3981: error: format not a string literal and no format arguments libxl.c:3983: error: format not a string literal and no format arguments libxl.c: In function "libxl_cpupool_movedomain": libxl.c:4095: error: format not a string literal and no format arguments Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Acked-by: Gianni Tedesco <gianni.tedesco@xxxxxxxxxx> --- tools/libxl/libxl.c | 13 ++++++++----- 1 files changed, 8 insertions(+), 5 deletions(-) diff -r da9b1aa3c366 -r 2795279e7533 tools/libxl/libxl.c --- a/tools/libxl/libxl.c Thu Oct 28 12:02:22 2010 +0100 +++ b/tools/libxl/libxl.c Thu Oct 28 12:05:45 2010 +0100 @@ -3978,10 +3978,12 @@ int libxl_create_cpupool(libxl_ctx *ctx, t = xs_transaction_start(ctx->xsh); xs_mkdir(ctx->xsh, t, libxl__sprintf(&gc, "/local/pool/%d", *poolid)); - libxl__xs_write(&gc, t, libxl__sprintf(&gc, "/local/pool/%d/uuid", *poolid), - uuid_string); - libxl__xs_write(&gc, t, libxl__sprintf(&gc, "/local/pool/%d/name", *poolid), - name); + libxl__xs_write(&gc, t, + libxl__sprintf(&gc, "/local/pool/%d/uuid", *poolid), + "%s", uuid_string); + libxl__xs_write(&gc, t, + libxl__sprintf(&gc, "/local/pool/%d/name", *poolid), + "%s", name); if (xs_transaction_end(ctx->xsh, t, 0) || (errno != EAGAIN)) return 0; @@ -4093,7 +4095,8 @@ int libxl_cpupool_movedomain(libxl_ctx * if (!vm_path) break; - libxl__xs_write(&gc, t, libxl__sprintf(&gc, "%s/pool_name", vm_path), poolname); + libxl__xs_write(&gc, t, libxl__sprintf(&gc, "%s/pool_name", vm_path), + "%s", poolname); if (xs_transaction_end(ctx->xsh, t, 0) || (errno != EAGAIN)) break; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |