From b437f8f8c2f3254bd33526994d90b60d01216412 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Mon, 7 Jul 1997 01:09:25 +0000 Subject: [PATCH] md5_finito might handle unaligned data git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1989 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/des/md5.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/des/md5.c b/lib/des/md5.c index d0e1da5f8..3744154f8 100644 --- a/lib/des/md5.c +++ b/lib/des/md5.c @@ -270,6 +270,18 @@ md5_finito (struct md5 *m, void *res) len = swap_u_int32_t (len); memcpy (zeros + dstart, &len, sizeof(len)); md5_update (m, zeros, dstart + 8); + { + int i; + u_char *r = (u_char *)res; + + for (i = 0; i < 4; ++i) { + r[4*i] = m->counter[i] & 0xFF; + r[4*i+1] = (m->counter[i] >> 8) & 0xFF; + r[4*i+2] = (m->counter[i] >> 16) & 0xFF; + r[4*i+3] = (m->counter[i] >> 24) & 0xFF; + } + } +#if 0 { int i; u_int32_t *r = (u_int32_t *)res; @@ -277,6 +289,7 @@ md5_finito (struct md5 *m, void *res) for (i = 0; i < 4; ++i) r[i] = swap_u_int32_t (m->counter[i]); } +#endif } /*