From: Mike Frysinger Date: Wed, 10 Oct 2012 04:29:54 +0000 (-0400) Subject: sfdisk: fix aliasing warnings X-Git-Tag: v2.22.1~9 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a2728e1e4785cc2ed9d776b58786ca8c0b59e7fa;p=thirdparty%2Futil-linux.git sfdisk: fix aliasing warnings Compiles down to the same code. Signed-off-by: Mike Frysinger --- diff --git a/fdisks/sfdisk.c b/fdisks/sfdisk.c index da5c60612a..24cf82d410 100644 --- a/fdisks/sfdisk.c +++ b/fdisks/sfdisk.c @@ -1553,12 +1553,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)) {