--- samba-3.0.8/source/lib/md4.c 2004-10-25 23:04:59.000000000 +0200 +++ samba-3.0.8a/source/lib/md4.c 2004-11-12 16:23:48.576848280 +0100 @@ -48,19 +48,14 @@ return ((x<>(32-s)); } -#define ROUND1(a,b,c,d,k,s) a = lshift(a + F(b,c,d) + X[k], s) -#define ROUND2(a,b,c,d,k,s) a = lshift(a + G(b,c,d) + X[k] + (uint32)0x5A827999,s) -#define ROUND3(a,b,c,d,k,s) a = lshift(a + H(b,c,d) + X[k] + (uint32)0x6ED9EBA1,s) +#define ROUND1(a,b,c,d,k,s) a = lshift(a + F(b,c,d) + M[k], s) +#define ROUND2(a,b,c,d,k,s) a = lshift(a + G(b,c,d) + M[k] + (uint32)0x5A827999,s) +#define ROUND3(a,b,c,d,k,s) a = lshift(a + H(b,c,d) + M[k] + (uint32)0x6ED9EBA1,s) /* this applies md4 to 64 byte chunks */ static void mdfour64(uint32 *M) { - int j; uint32 AA, BB, CC, DD; - uint32 X[16]; - - for (j=0;j<16;j++) - X[j] = M[j]; AA = A; BB = B; CC = C; DD = D; @@ -95,9 +90,6 @@ A &= 0xFFFFFFFF; B &= 0xFFFFFFFF; C &= 0xFFFFFFFF; D &= 0xFFFFFFFF; - - for (j=0;j<16;j++) - X[j] = 0; } static void copy64(uint32 *M, const unsigned char *in)