diff options
-rw-r--r-- | cipher/md.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/cipher/md.c b/cipher/md.c index 5b4f0c13..0414dcb0 100644 --- a/cipher/md.c +++ b/cipher/md.c @@ -550,7 +550,8 @@ _gcry_md_reset (gcry_md_hd_t a) if (a->ctx->flags.hmac) for (r = a->ctx->list; r; r = r->next) { - memcpy (r->context.c, r->context.c + r->spec->contextsize, + memcpy ((char *)r->context.c, + (char *)r->context.c + r->spec->contextsize, r->spec->contextsize); } else @@ -667,7 +668,8 @@ md_final (gcry_md_hd_t a) } memcpy (hash, p, dlen); - memcpy (r->context.c, r->context.c + r->spec->contextsize * 2, + memcpy ((char *)r->context.c, + (char *)r->context.c + r->spec->contextsize * 2, r->spec->contextsize); (*r->spec->write) (&r->context.c, hash, dlen); (*r->spec->final) (&r->context.c); @@ -745,7 +747,7 @@ prepare_macpads (gcry_md_hd_t a, const unsigned char *key, size_t keylen) for (; i < macpad_Bsize; i++ ) _gcry_md_putc (a, 0x36); (*r->spec->write) (&r->context.c, a->buf, a->bufpos); - memcpy (r->context.c + r->spec->contextsize, r->context.c, + memcpy ((char*)r->context.c + r->spec->contextsize, r->context.c, r->spec->contextsize); (*r->spec->init) (&r->context.c, @@ -756,7 +758,7 @@ prepare_macpads (gcry_md_hd_t a, const unsigned char *key, size_t keylen) for (; i < macpad_Bsize; i++ ) _gcry_md_putc (a, 0x5c); (*r->spec->write) (&r->context.c, a->buf, a->bufpos); - memcpy (r->context.c + r->spec->contextsize*2, r->context.c, + memcpy ((char *)r->context.c + r->spec->contextsize*2, r->context.c, r->spec->contextsize); xfree (key_allocated); |