summaryrefslogtreecommitdiffstats
path: root/crypto/aes
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2010-07-09 17:25:27 +0000
committerDr. Stephen Henson <steve@openssl.org>2010-07-09 17:25:27 +0000
commitc4c99b4961d3080e63cf36f0bbbef13ba74de4fb (patch)
treee3dbe6ae2b2f6605c0890cddad0a69e1bc0576cf /crypto/aes
parentccbbcddd5ff675309e3c43f5795afc967f4c049e (diff)
PR: 2297
Submitted by: Antony, Benoy <bantony@ebay.com> Approved by: steve@openssl.org Fix bug in AES wrap code when t > 0xff.
Diffstat (limited to 'crypto/aes')
-rw-r--r--crypto/aes/aes_wrap.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/crypto/aes/aes_wrap.c b/crypto/aes/aes_wrap.c
index 9feacd65d8..a9aebfe9b0 100644
--- a/crypto/aes/aes_wrap.c
+++ b/crypto/aes/aes_wrap.c
@@ -85,9 +85,9 @@ int AES_wrap_key(AES_KEY *key, const unsigned char *iv,
A[7] ^= (unsigned char)(t & 0xff);
if (t > 0xff)
{
- A[6] ^= (unsigned char)((t & 0xff) >> 8);
- A[5] ^= (unsigned char)((t & 0xff) >> 16);
- A[4] ^= (unsigned char)((t & 0xff) >> 24);
+ A[6] ^= (unsigned char)((t >> 8) & 0xff);
+ A[5] ^= (unsigned char)((t >> 16) & 0xff);
+ A[4] ^= (unsigned char)((t >> 24) & 0xff);
}
memcpy(R, B + 8, 8);
}