diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2009-06-24 15:24:53 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2009-06-24 15:24:53 +0100 |
commit | 1d998d8224dd7ac5b1f2a2175c3c050f27ae6f6b (patch) | |
tree | 63fe31e448b6093e62de875cff596823f738b065 /tools/blktap2 | |
parent | a61c4df7f669496dc21f26919f272b934048da6d (diff) | |
download | xen-1d998d8224dd7ac5b1f2a2175c3c050f27ae6f6b.tar.gz xen-1d998d8224dd7ac5b1f2a2175c3c050f27ae6f6b.tar.bz2 xen-1d998d8224dd7ac5b1f2a2175c3c050f27ae6f6b.zip |
blktap2: A final few NetBSD fixes
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Diffstat (limited to 'tools/blktap2')
-rw-r--r-- | tools/blktap2/include/blk_uuid.h | 10 | ||||
-rw-r--r-- | tools/blktap2/vhd/lib/libvhd.c | 4 | ||||
-rw-r--r-- | tools/blktap2/vhd/lib/vhd-util-read.c | 4 |
3 files changed, 11 insertions, 7 deletions
diff --git a/tools/blktap2/include/blk_uuid.h b/tools/blktap2/include/blk_uuid.h index 82922619e0..598ab2b661 100644 --- a/tools/blktap2/include/blk_uuid.h +++ b/tools/blktap2/include/blk_uuid.h @@ -45,7 +45,7 @@ static inline void blk_uuid_generate(blk_uuid_t *uuid) uuid_generate(uuid->uuid); } -static inline void blk_uuid_to_string(blk_uuid_t *uuid, char *out) +static inline void blk_uuid_to_string(blk_uuid_t *uuid, char *out, size_t size) { uuid_unparse(uuid->uuid, out); } @@ -74,6 +74,7 @@ static inline int blk_uuid_compare(blk_uuid_t *uuid1, blk_uuid_t *uuid2) #include <uuid.h> #include <string.h> +#include <stdlib.h> typedef uuid_t blk_uuid_t; @@ -89,10 +90,13 @@ static inline void blk_uuid_generate(blk_uuid_t *uuid) uuid_create((uuid_t *)uuid, &status); } -static inline void blk_uuid_to_string(blk_uuid_t *uuid, char *out) +static inline void blk_uuid_to_string(blk_uuid_t *uuid, char *out, size_t size) { uint32_t status; - uuid_to_string((uuid_t *)uuid, &out, &status); + char *_out = NULL; + uuid_to_string((uuid_t *)uuid, &_out, &status); + strlcpy(out, _out, size); + free(_out); } static inline void blk_uuid_from_string(blk_uuid_t *uuid, const char *in) diff --git a/tools/blktap2/vhd/lib/libvhd.c b/tools/blktap2/vhd/lib/libvhd.c index 03bee720c5..1dd36238e6 100644 --- a/tools/blktap2/vhd/lib/libvhd.c +++ b/tools/blktap2/vhd/lib/libvhd.c @@ -1335,7 +1335,7 @@ vhd_macx_encode_location(char *name, char **out, int *outlen) snprintf(uri, ibl+1, "file://%s", name); if (iconv(cd, -#if defined(__linux__) || (__Linux__) +#if defined(__linux__) || defined(__Linux__) (char **) #endif &urip, &ibl, &uri_utf8p, &obl) == (size_t)-1 || @@ -1425,7 +1425,7 @@ vhd_w2u_encode_location(char *name, char **out, int *outlen) } if (iconv(cd, -#if defined(__linux__) || (__Linux__) +#if defined(__linux__) || defined(__Linux__) (char **) #endif &urip, &ibl, &uri_utf16p, &obl) == (size_t)-1 || diff --git a/tools/blktap2/vhd/lib/vhd-util-read.c b/tools/blktap2/vhd/lib/vhd-util-read.c index 0afb3dcceb..2e8dc8b786 100644 --- a/tools/blktap2/vhd/lib/vhd-util-read.c +++ b/tools/blktap2/vhd/lib/vhd-util-read.c @@ -78,7 +78,7 @@ vhd_print_header(vhd_context_t *vhd, vhd_header_t *h, int hex) (err ? "failed to read name" : name)); free(name); - blk_uuid_to_string(&h->prt_uuid, uuid); + blk_uuid_to_string(&h->prt_uuid, uuid, sizeof(uuid)); printf("Parent UUID : %s\n", uuid); vhd_time_to_string(h->prt_ts, time_str); @@ -153,7 +153,7 @@ vhd_print_footer(vhd_footer_t *f, int hex) printf("Checksum : 0x%x|0x%x (%s)\n", f->checksum, cksm, f->checksum == cksm ? "Good!" : "Bad!"); - blk_uuid_to_string(&f->uuid, uuid); + blk_uuid_to_string(&f->uuid, uuid, sizeof(uuid)); printf("UUID : %s\n", uuid); printf("Saved state : %s\n", f->saved == 0 ? "No" : "Yes"); |