util/uuid: Add UUID_STR_LEN definition
qemu_uuid_unparse() includes a trailing NUL when writing the uuid string and the buffer size should be UUID_FMT_LEN + 1 bytes. Add a define for this size and use it where required. Cc: Fam Zheng <fam@euphon.net> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Juan Quintela <quintela@redhat.com> Reviewed-by: "Denis V. Lunev" <den@openvz.org> Signed-off-by: Cédric Le Goater <clg@redhat.com>
This commit is contained in:
parent
ba7d12eb8c
commit
721da0396c
@ -130,7 +130,7 @@ static BdrvDirtyBitmap *parallels_load_bitmap(BlockDriverState *bs,
|
|||||||
g_autofree uint64_t *l1_table = NULL;
|
g_autofree uint64_t *l1_table = NULL;
|
||||||
BdrvDirtyBitmap *bitmap;
|
BdrvDirtyBitmap *bitmap;
|
||||||
QemuUUID uuid;
|
QemuUUID uuid;
|
||||||
char uuidstr[UUID_FMT_LEN + 1];
|
char uuidstr[UUID_STR_LEN];
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (data_size < sizeof(bf)) {
|
if (data_size < sizeof(bf)) {
|
||||||
|
@ -239,7 +239,7 @@ static void vdi_header_to_le(VdiHeader *header)
|
|||||||
|
|
||||||
static void vdi_header_print(VdiHeader *header)
|
static void vdi_header_print(VdiHeader *header)
|
||||||
{
|
{
|
||||||
char uuidstr[37];
|
char uuidstr[UUID_STR_LEN];
|
||||||
QemuUUID uuid;
|
QemuUUID uuid;
|
||||||
logout("text %s", header->text);
|
logout("text %s", header->text);
|
||||||
logout("signature 0x%08x\n", header->signature);
|
logout("signature 0x%08x\n", header->signature);
|
||||||
|
@ -1114,7 +1114,7 @@ static void get_uuid(Object *obj, Visitor *v, const char *name, void *opaque,
|
|||||||
{
|
{
|
||||||
Property *prop = opaque;
|
Property *prop = opaque;
|
||||||
QemuUUID *uuid = object_field_prop_ptr(obj, prop);
|
QemuUUID *uuid = object_field_prop_ptr(obj, prop);
|
||||||
char buffer[UUID_FMT_LEN + 1];
|
char buffer[UUID_STR_LEN];
|
||||||
char *p = buffer;
|
char *p = buffer;
|
||||||
|
|
||||||
qemu_uuid_unparse(uuid, buffer);
|
qemu_uuid_unparse(uuid, buffer);
|
||||||
|
@ -2271,7 +2271,7 @@ static void vmbus_dev_realize(DeviceState *dev, Error **errp)
|
|||||||
VMBus *vmbus = VMBUS(qdev_get_parent_bus(dev));
|
VMBus *vmbus = VMBUS(qdev_get_parent_bus(dev));
|
||||||
BusChild *child;
|
BusChild *child;
|
||||||
Error *err = NULL;
|
Error *err = NULL;
|
||||||
char idstr[UUID_FMT_LEN + 1];
|
char idstr[UUID_STR_LEN];
|
||||||
|
|
||||||
assert(!qemu_uuid_is_null(&vdev->instanceid));
|
assert(!qemu_uuid_is_null(&vdev->instanceid));
|
||||||
|
|
||||||
@ -2467,7 +2467,7 @@ static char *vmbus_get_dev_path(DeviceState *dev)
|
|||||||
static char *vmbus_get_fw_dev_path(DeviceState *dev)
|
static char *vmbus_get_fw_dev_path(DeviceState *dev)
|
||||||
{
|
{
|
||||||
VMBusDevice *vdev = VMBUS_DEVICE(dev);
|
VMBusDevice *vdev = VMBUS_DEVICE(dev);
|
||||||
char uuid[UUID_FMT_LEN + 1];
|
char uuid[UUID_STR_LEN];
|
||||||
|
|
||||||
qemu_uuid_unparse(&vdev->instanceid, uuid);
|
qemu_uuid_unparse(&vdev->instanceid, uuid);
|
||||||
return g_strdup_printf("%s@%s", qdev_fw_name(dev), uuid);
|
return g_strdup_printf("%s@%s", qdev_fw_name(dev), uuid);
|
||||||
|
@ -79,6 +79,7 @@ typedef struct {
|
|||||||
"%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx"
|
"%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx"
|
||||||
|
|
||||||
#define UUID_FMT_LEN 36
|
#define UUID_FMT_LEN 36
|
||||||
|
#define UUID_STR_LEN (UUID_FMT_LEN + 1)
|
||||||
|
|
||||||
#define UUID_NONE "00000000-0000-0000-0000-000000000000"
|
#define UUID_NONE "00000000-0000-0000-0000-000000000000"
|
||||||
|
|
||||||
|
@ -471,8 +471,8 @@ static bool vmstate_uuid_needed(void *opaque)
|
|||||||
static int vmstate_uuid_post_load(void *opaque, int version_id)
|
static int vmstate_uuid_post_load(void *opaque, int version_id)
|
||||||
{
|
{
|
||||||
SaveState *state = opaque;
|
SaveState *state = opaque;
|
||||||
char uuid_src[UUID_FMT_LEN + 1];
|
char uuid_src[UUID_STR_LEN];
|
||||||
char uuid_dst[UUID_FMT_LEN + 1];
|
char uuid_dst[UUID_STR_LEN];
|
||||||
|
|
||||||
if (!qemu_uuid_set) {
|
if (!qemu_uuid_set) {
|
||||||
/*
|
/*
|
||||||
|
@ -145,7 +145,7 @@ static void test_uuid_unparse(void)
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(uuid_test_data); i++) {
|
for (i = 0; i < ARRAY_SIZE(uuid_test_data); i++) {
|
||||||
char out[37];
|
char out[UUID_STR_LEN];
|
||||||
|
|
||||||
if (!uuid_test_data[i].check_unparse) {
|
if (!uuid_test_data[i].check_unparse) {
|
||||||
continue;
|
continue;
|
||||||
|
@ -51,7 +51,7 @@ int qemu_uuid_is_equal(const QemuUUID *lhv, const QemuUUID *rhv)
|
|||||||
void qemu_uuid_unparse(const QemuUUID *uuid, char *out)
|
void qemu_uuid_unparse(const QemuUUID *uuid, char *out)
|
||||||
{
|
{
|
||||||
const unsigned char *uu = &uuid->data[0];
|
const unsigned char *uu = &uuid->data[0];
|
||||||
snprintf(out, UUID_FMT_LEN + 1, UUID_FMT,
|
snprintf(out, UUID_STR_LEN, UUID_FMT,
|
||||||
uu[0], uu[1], uu[2], uu[3], uu[4], uu[5], uu[6], uu[7],
|
uu[0], uu[1], uu[2], uu[3], uu[4], uu[5], uu[6], uu[7],
|
||||||
uu[8], uu[9], uu[10], uu[11], uu[12], uu[13], uu[14], uu[15]);
|
uu[8], uu[9], uu[10], uu[11], uu[12], uu[13], uu[14], uu[15]);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user