From: Karel Zak Date: Mon, 15 Oct 2012 15:01:30 +0000 (+0200) Subject: libblkid: fix compiler warning [-Wstrict-aliasing] X-Git-Tag: v2.23-rc1~621 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e37cd480f9ca0709d2c47a545d72e5ae1450ca7f;p=thirdparty%2Futil-linux.git libblkid: fix compiler warning [-Wstrict-aliasing] libblkid/src/superblocks/befs.c: In function 'get_uuid': libblkid/src/superblocks/befs.c:353:6: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] Signed-off-by: Karel Zak --- diff --git a/libblkid/src/superblocks/befs.c b/libblkid/src/superblocks/befs.c index a7f4317ba5..452da1ecdd 100644 --- a/libblkid/src/superblocks/befs.c +++ b/libblkid/src/superblocks/befs.c @@ -348,9 +348,11 @@ static int get_uuid(blkid_probe pr, const struct befs_super_block *bs, && FS16_TO_CPU(sd->name_size, fs_le) == strlen(KEY_NAME) && FS16_TO_CPU(sd->data_size, fs_le) == KEY_SIZE && strcmp(sd->name, KEY_NAME) == 0) { - *uuid = *(uint64_t *) ((uint8_t *) sd->name - + FS16_TO_CPU(sd->name_size, fs_le) - + 3); + + memcpy(uuid, + sd->name + FS16_TO_CPU(sd->name_size, fs_le) + 3, + sizeof(uint64_t)); + break; } else if (FS32_TO_CPU(sd->type, fs_le) == 0 && FS16_TO_CPU(sd->name_size, fs_le) == 0