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 } /*