From 2d609d9945b119dfa9ad7d9d73a38068a35fa5f0 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 10 Oct 2012 00:29:54 -0400 Subject: [PATCH] sfdisk: fix aliasing warnings Compiles down to the same code. Signed-off-by: Mike Frysinger --- fdisks/sfdisk.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/fdisks/sfdisk.c b/fdisks/sfdisk.c index 3450f5208a..e59d52a2b1 100644 --- a/fdisks/sfdisk.c +++ b/fdisks/sfdisk.c @@ -1561,12 +1561,14 @@ msdos_partition(char *dev, int fd, unsigned long start, struct disk_desc *z) { return 0; } - unsigned int sig = *(unsigned short *)(s->data + 2); - if (sig <= 0x1ae - && *(unsigned short *)(s->data + sig) == 0x55aa - && (1 & *(unsigned char *)(s->data + sig + 2))) { + unsigned short sig, magic; + memcpy(&sig, s->data + 2, sizeof(sig)); + if (sig <= 0x1ae) { + memcpy(&magic, s->data + sig, sizeof(magic)); + if (magic == 0x55aa && (1 & *(unsigned char *)(s->data + sig + 2))) { warnx(_("DM6 signature found - giving up\n")); return 0; + } } for (pno = 0; pno < 4; pno++, cp += sizeof(struct partition)) { -- 2.47.2