summaryrefslogtreecommitdiff
path: root/md5/md5.c
diff options
context:
space:
mode:
Diffstat (limited to 'md5/md5.c')
-rw-r--r--md5/md5.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/md5/md5.c b/md5/md5.c
index 59b47ba..ef28cdf 100644
--- a/md5/md5.c
+++ b/md5/md5.c
@@ -143,13 +143,12 @@ void MD5Final(unsigned char digest[16], MD5_CTX *ctx)
byteReverse(ctx->in, 14);
/* Append length in bits and transform */
- ((uint32_t *) ctx->in)[14] = ctx->bits[0];
- ((uint32_t *) ctx->in)[15] = ctx->bits[1];
+ memcpy(((uint32_t *) ctx->in)+14, ctx->bits, sizeof(uint32_t)*2);
MD5Transform(ctx->buf, (uint32_t *) ctx->in);
byteReverse((unsigned char *)ctx->buf, 4);
memcpy(digest, ctx->buf, 16);
- memset((char *)ctx, 0, sizeof(ctx)); /* In case it's sensitive */
+ memset((char *)ctx, 0, sizeof(*ctx)); /* In case it's sensitive */
}
/* The four core functions - F1 is optimized somewhat */