Fossil SCM

Fix gcc-4.7.2 warning: src/md5.c: In functie 'MD5Final': src/md5.c:263:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] src/md5.c:264:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

jan.nijtmans 2013-03-06 09:28 trunk
Commit 98fd649a9af410e885b8aa498fb7dda79532dc2b
1 file changed +1 -2
+1 -2
--- src/md5.c
+++ src/md5.c
@@ -258,12 +258,11 @@
258258
memset(p, 0, count-8);
259259
}
260260
byteReverse(ctx->in, 14);
261261
262262
/* Append length in bits and transform */
263
- ((uint32 *)ctx->in)[ 14 ] = ctx->bits[0];
264
- ((uint32 *)ctx->in)[ 15 ] = ctx->bits[1];
263
+ memcpy(&ctx->in[14*sizeof(uint32)], ctx->bits, 2*sizeof(uint32));
265264
266265
MD5Transform(ctx->buf, (uint32 *)ctx->in);
267266
byteReverse((unsigned char *)ctx->buf, 4);
268267
memcpy(digest, ctx->buf, 16);
269268
memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */
270269
--- src/md5.c
+++ src/md5.c
@@ -258,12 +258,11 @@
258 memset(p, 0, count-8);
259 }
260 byteReverse(ctx->in, 14);
261
262 /* Append length in bits and transform */
263 ((uint32 *)ctx->in)[ 14 ] = ctx->bits[0];
264 ((uint32 *)ctx->in)[ 15 ] = ctx->bits[1];
265
266 MD5Transform(ctx->buf, (uint32 *)ctx->in);
267 byteReverse((unsigned char *)ctx->buf, 4);
268 memcpy(digest, ctx->buf, 16);
269 memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */
270
--- src/md5.c
+++ src/md5.c
@@ -258,12 +258,11 @@
258 memset(p, 0, count-8);
259 }
260 byteReverse(ctx->in, 14);
261
262 /* Append length in bits and transform */
263 memcpy(&ctx->in[14*sizeof(uint32)], ctx->bits, 2*sizeof(uint32));
 
264
265 MD5Transform(ctx->buf, (uint32 *)ctx->in);
266 byteReverse((unsigned char *)ctx->buf, 4);
267 memcpy(digest, ctx->buf, 16);
268 memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */
269

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button