aboutsummaryrefslogtreecommitdiff
path: root/sys/crypto
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2004-01-27 18:57:21 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2004-01-27 18:57:21 +0000
commit2845024409fa133670996ebf34916de840338171 (patch)
treeae29be6f129ccf174ad22003db216f5f6fa7318a /sys/crypto
parent430b8c1b05e98d6f5e10ab17afafe2f68ed56278 (diff)
downloadsrc-2845024409fa133670996ebf34916de840338171.tar.gz
src-2845024409fa133670996ebf34916de840338171.zip
Fix a reentrancy issue in md5_calc().
Notes
Notes: svn path=/head/; revision=125105
Diffstat (limited to 'sys/crypto')
-rw-r--r--sys/crypto/md5.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/sys/crypto/md5.c b/sys/crypto/md5.c
index 615a133f9b57..94bce1d32402 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];