mirror of
				https://gitlab.com/qemu-project/qemu.git
				synced 2025-10-30 07:57:14 +08:00 
			
		
		
		
	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:
		| @ -130,7 +130,7 @@ static BdrvDirtyBitmap *parallels_load_bitmap(BlockDriverState *bs, | ||||
|     g_autofree uint64_t *l1_table = NULL; | ||||
|     BdrvDirtyBitmap *bitmap; | ||||
|     QemuUUID uuid; | ||||
|     char uuidstr[UUID_FMT_LEN + 1]; | ||||
|     char uuidstr[UUID_STR_LEN]; | ||||
|     int i; | ||||
|  | ||||
|     if (data_size < sizeof(bf)) { | ||||
|  | ||||
| @ -239,7 +239,7 @@ static void vdi_header_to_le(VdiHeader *header) | ||||
|  | ||||
| static void vdi_header_print(VdiHeader *header) | ||||
| { | ||||
|     char uuidstr[37]; | ||||
|     char uuidstr[UUID_STR_LEN]; | ||||
|     QemuUUID uuid; | ||||
|     logout("text        %s", header->text); | ||||
|     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; | ||||
|     QemuUUID *uuid = object_field_prop_ptr(obj, prop); | ||||
|     char buffer[UUID_FMT_LEN + 1]; | ||||
|     char buffer[UUID_STR_LEN]; | ||||
|     char *p = 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)); | ||||
|     BusChild *child; | ||||
|     Error *err = NULL; | ||||
|     char idstr[UUID_FMT_LEN + 1]; | ||||
|     char idstr[UUID_STR_LEN]; | ||||
|  | ||||
|     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) | ||||
| { | ||||
|     VMBusDevice *vdev = VMBUS_DEVICE(dev); | ||||
|     char uuid[UUID_FMT_LEN + 1]; | ||||
|     char uuid[UUID_STR_LEN]; | ||||
|  | ||||
|     qemu_uuid_unparse(&vdev->instanceid, uuid); | ||||
|     return g_strdup_printf("%s@%s", qdev_fw_name(dev), uuid); | ||||
|  | ||||
| @ -79,6 +79,7 @@ typedef struct { | ||||
|                  "%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx" | ||||
|  | ||||
| #define UUID_FMT_LEN 36 | ||||
| #define UUID_STR_LEN (UUID_FMT_LEN + 1) | ||||
|  | ||||
| #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) | ||||
| { | ||||
|     SaveState *state = opaque; | ||||
|     char uuid_src[UUID_FMT_LEN + 1]; | ||||
|     char uuid_dst[UUID_FMT_LEN + 1]; | ||||
|     char uuid_src[UUID_STR_LEN]; | ||||
|     char uuid_dst[UUID_STR_LEN]; | ||||
|  | ||||
|     if (!qemu_uuid_set) { | ||||
|         /* | ||||
|  | ||||
| @ -145,7 +145,7 @@ static void test_uuid_unparse(void) | ||||
|     int 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) { | ||||
|             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) | ||||
| { | ||||
|     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[8], uu[9], uu[10], uu[11], uu[12], uu[13], uu[14], uu[15]); | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Cédric Le Goater
					Cédric Le Goater