diff options
| author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2019-07-31 16:59:49 +0200 | 
|---|---|---|
| committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2019-07-31 16:59:49 +0200 | 
| commit | 1687222e1b9e74c89cafbb5910e72d8ec7bfd40f (patch) | |
| tree | d78102ce30207c63e7608eeba743efd680c888dc /lib/md5.c | |
| parent | 58912f68c2489bcee787599837447e0d64dfd61a (diff) | |
New upstream version 1.0.28upstream/1.0.28
Diffstat (limited to 'lib/md5.c')
| -rw-r--r-- | lib/md5.c | 9 | 
1 files changed, 6 insertions, 3 deletions
@@ -123,6 +123,7 @@ md5_finish_ctx (struct md5_ctx *ctx, void *resbuf)    /* Take yet unprocessed bytes into account.  */    md5_uint32 bytes = ctx->buflen;    size_t pad; +  size_t offset;    /* Now count remaining bytes.  */    ctx->total[0] += bytes; @@ -133,9 +134,11 @@ md5_finish_ctx (struct md5_ctx *ctx, void *resbuf)    memcpy (&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)); +  offset = (bytes + pad) / sizeof (md5_uint32); +  ((md5_uint32 *) ctx->buffer)[offset] = SWAP (ctx->total[0] << 3); +  offset = (bytes + pad + 4) / sizeof (md5_uint32); +  ((md5_uint32 *) ctx->buffer)[offset] = SWAP ((ctx->total[1] << 3) | +					       (ctx->total[0] >> 29));    /* Process last bytes.  */    md5_process_block (ctx->buffer, bytes + pad + 8, ctx);  | 
