summaryrefslogtreecommitdiff
path: root/usr/src/common/openssl/crypto/rc4/rc4_enc.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/common/openssl/crypto/rc4/rc4_enc.c')
-rw-r--r--usr/src/common/openssl/crypto/rc4/rc4_enc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr/src/common/openssl/crypto/rc4/rc4_enc.c b/usr/src/common/openssl/crypto/rc4/rc4_enc.c
index d5f18a3a70..0660ea60a2 100644
--- a/usr/src/common/openssl/crypto/rc4/rc4_enc.c
+++ b/usr/src/common/openssl/crypto/rc4/rc4_enc.c
@@ -157,7 +157,7 @@ void RC4(RC4_KEY *key, unsigned long len, const unsigned char *indata,
if (!is_endian.little)
{ /* BIG-ENDIAN CASE */
# define BESHFT(c) (((sizeof(RC4_CHUNK)-(c)-1)*8)&(sizeof(RC4_CHUNK)*8-1))
- for (;len&-sizeof(RC4_CHUNK);len-=sizeof(RC4_CHUNK))
+ for (;len&~(sizeof(RC4_CHUNK)-1);len-=sizeof(RC4_CHUNK))
{
ichunk = *(RC4_CHUNK *)indata;
otp = RC4_STEP<<BESHFT(0);
@@ -210,7 +210,7 @@ void RC4(RC4_KEY *key, unsigned long len, const unsigned char *indata,
else
{ /* LITTLE-ENDIAN CASE */
# define LESHFT(c) (((c)*8)&(sizeof(RC4_CHUNK)*8-1))
- for (;len&-sizeof(RC4_CHUNK);len-=sizeof(RC4_CHUNK))
+ for (;len&~(sizeof(RC4_CHUNK)-1);len-=sizeof(RC4_CHUNK))
{
ichunk = *(RC4_CHUNK *)indata;
otp = RC4_STEP;