On 09/28/16 16:38, Marc-André Lureau wrote: > Since 9c5ce8db, the uuid is wrongly copied, as QemuUUID 'in' argument is > already a pointer. > > Fixes ASAN complaining: > hw/smbios/smbios.c:489:5: runtime error: load of address 0x7fffcdb91b00 with > insufficient space for an object of type '__int128 unsigned' > > Signed-off-by: Marc-André Lureau <[email protected]> > --- > hw/smbios/smbios.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c > index 9a6552a..3a96ced 100644 > --- a/hw/smbios/smbios.c > +++ b/hw/smbios/smbios.c > @@ -486,7 +486,7 @@ static void smbios_build_type_0_table(void) > */ > static void smbios_encode_uuid(struct smbios_uuid *uuid, QemuUUID *in) > { > - memcpy(uuid, &in, 16); > + memcpy(uuid, in, 16); > if (smbios_uuid_encoded) { > uuid->time_low = bswap32(uuid->time_low); > uuid->time_mid = bswap16(uuid->time_mid); >
Reviewed-by: Laszlo Ersek <[email protected]> Also, I think the "QemuUUID.fields" structure should be decorated with QEMU_PACKED, for documentation purposes if nothing else. (Separate question / patch, of course.) Thanks Laszlo
