diff options
author | des <des@FreeBSD.org> | 2004-01-27 18:57:21 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2004-01-27 18:57:21 +0000 |
commit | b3e7bd9f6b260057ea60ee1144dbac3231f732d4 (patch) | |
tree | ae29be6f129ccf174ad22003db216f5f6fa7318a | |
parent | 89536c60f8e7ffb0aebdb264ec4fea8487a97378 (diff) | |
download | FreeBSD-src-b3e7bd9f6b260057ea60ee1144dbac3231f732d4.zip FreeBSD-src-b3e7bd9f6b260057ea60ee1144dbac3231f732d4.tar.gz |
Fix a reentrancy issue in md5_calc().
-rw-r--r-- | sys/crypto/md5.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/sys/crypto/md5.c b/sys/crypto/md5.c index 615a133..94bce1d 100644 --- a/sys/crypto/md5.c +++ b/sys/crypto/md5.c @@ -229,10 +229,6 @@ void md5_result(digest, ctxt) #endif } -#if BYTE_ORDER == BIG_ENDIAN -u_int32_t X[16]; -#endif - static void md5_calc(b64, ctxt) u_int8_t *b64; md5_ctxt *ctxt; @@ -247,6 +243,7 @@ static void md5_calc(b64, ctxt) #if BYTE_ORDER == BIG_ENDIAN /* 4 byte words */ /* what a brute force but fast! */ + u_int32_t X[16]; u_int8_t *y = (u_int8_t *)X; y[ 0] = b64[ 3]; y[ 1] = b64[ 2]; y[ 2] = b64[ 1]; y[ 3] = b64[ 0]; y[ 4] = b64[ 7]; y[ 5] = b64[ 6]; y[ 6] = b64[ 5]; y[ 7] = b64[ 4]; |