GCC47: Fix warning in md5.c

md5.c: In function ‘MD5Final’:
md5.c:156:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
md5.c:157:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
Acked-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
Marek Vasut 2012-04-29 00:28:40 +02:00 committed by Wolfgang Denk
parent f624dd15e3
commit b68d63ce4b
2 changed files with 6 additions and 3 deletions

View file

@ -11,7 +11,10 @@
struct MD5Context { struct MD5Context {
__u32 buf[4]; __u32 buf[4];
__u32 bits[2]; __u32 bits[2];
unsigned char in[64]; union {
unsigned char in[64];
__u32 in32[16];
};
}; };
/* /*

View file

@ -153,8 +153,8 @@ MD5Final(unsigned char digest[16], struct MD5Context *ctx)
byteReverse(ctx->in, 14); byteReverse(ctx->in, 14);
/* Append length in bits and transform */ /* Append length in bits and transform */
((__u32 *) ctx->in)[14] = ctx->bits[0]; ctx->in32[14] = ctx->bits[0];
((__u32 *) ctx->in)[15] = ctx->bits[1]; ctx->in32[15] = ctx->bits[1];
MD5Transform(ctx->buf, (__u32 *) ctx->in); MD5Transform(ctx->buf, (__u32 *) ctx->in);
byteReverse((unsigned char *) ctx->buf, 4); byteReverse((unsigned char *) ctx->buf, 4);