diff options
author | Daniel De Graaf <dgdegra@tycho.nsa.gov> | 2013-04-12 11:22:26 -0400 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2013-04-17 14:56:27 +0100 |
commit | 26c35e5cb93a7b4dcde940620eb7ac1845ed6e5a (patch) | |
tree | 7e3ffa56052f886a719371750df63a68b1f012fd /tools/libxl/libxl.c | |
parent | ef496b81f0336f09968a318e7f81151dd4f5a0cc (diff) | |
download | xen-26c35e5cb93a7b4dcde940620eb7ac1845ed6e5a.tar.gz xen-26c35e5cb93a7b4dcde940620eb7ac1845ed6e5a.tar.bz2 xen-26c35e5cb93a7b4dcde940620eb7ac1845ed6e5a.zip |
libxl: properly initialize device structures
This avoids returning unallocated memory in the libxl_device_vtpm
structure in libxl_device_vtpm_list, and uses libxl_device_nic_init
instead of memset when initializing libxl_device_nics.
Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'tools/libxl/libxl.c')
-rw-r--r-- | tools/libxl/libxl.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index fa6dfed29e..0f936c0ab7 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -1850,6 +1850,8 @@ libxl_device_vtpm *libxl_device_vtpm_list(libxl_ctx *ctx, uint32_t domid, int *n GCSPRINTF("%s/%s/backend", fe_path, *dir)); + libxl_device_vtpm_init(vtpm); + vtpm->devid = atoi(*dir); tmp = libxl__xs_read(gc, XBT_NULL, @@ -1953,7 +1955,7 @@ int libxl_devid_to_device_vtpm(libxl_ctx *ctx, if (!vtpms) return ERROR_FAIL; - memset(vtpm, 0, sizeof (libxl_device_vtpm)); + libxl_device_vtpm_init(vtpm); rc = 1; for (i = 0; i < nb; ++i) { if(devid == vtpms[i].devid) { @@ -2932,7 +2934,7 @@ static void libxl__device_nic_from_xs_be(libxl__gc *gc, char *tmp; int rc; - memset(nic, 0, sizeof(*nic)); + libxl_device_nic_init(nic); tmp = xs_read(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "%s/handle", be_path), &len); @@ -2971,7 +2973,7 @@ int libxl_devid_to_device_nic(libxl_ctx *ctx, uint32_t domid, char *dompath, *path; int rc = ERROR_FAIL; - memset(nic, 0, sizeof (libxl_device_nic)); + libxl_device_nic_init(nic); dompath = libxl__xs_get_dompath(gc, domid); if (!dompath) goto out; |