From d1a7edb66fad94e2b1b0546de9c9f9a8be4fab55 Mon Sep 17 00:00:00 2001 From: Stefan Seyfried Date: Sun, 24 Mar 2013 13:13:30 +0100 Subject: [PATCH] libmd5sum: fix strict-aliasing warning Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/c4065cb778d1e8544b3dda9b7fb804314b294c91 Author: Stefan Seyfried Date: 2013-03-24 (Sun, 24 Mar 2013) --- lib/libmd5sum/md5.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/libmd5sum/md5.c b/lib/libmd5sum/md5.c index bb3669819..3e7aa83ed 100644 --- a/lib/libmd5sum/md5.c +++ b/lib/libmd5sum/md5.c @@ -97,6 +97,7 @@ md5_finish_ctx (ctx, resbuf) /* Take yet unprocessed bytes into account. */ md5_uint32 bytes = ctx->buflen; size_t pad; + md5_uint32 *p; /* Now count remaining bytes. */ ctx->total[0] += bytes; @@ -107,9 +108,10 @@ md5_finish_ctx (ctx, resbuf) memmove (&ctx->buffer[bytes], fillbuf, pad); /* Put the 64-bit file length in *bits* at the end of the buffer. */ - *(md5_uint32 *) &ctx->buffer[bytes + pad] = SWAP (ctx->total[0] << 3); - *(md5_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP ((ctx->total[1] << 3) | - (ctx->total[0] >> 29)); + p = (md5_uint32 *)&ctx->buffer[bytes + pad]; + *p = SWAP (ctx->total[0] << 3); + p++; + *p = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29)); /* Process last bytes. */ md5_process_block (ctx->buffer, bytes + pad + 8, ctx);