rc4_skey.c [0.9.8]: at some point rc4_skey and x86[_64]cpuid were modified
authorAndy Polyakov <appro@openssl.org>
Mon, 6 Jun 2011 19:58:21 +0000 (19:58 +0000)
committerAndy Polyakov <appro@openssl.org>
Mon, 6 Jun 2011 19:58:21 +0000 (19:58 +0000)
to examine bit#20 on x86[_64], but it was erroneously reverted to bit#28
in 2008 in process of FIPS integration.

crypto/rc4/rc4_skey.c

index 4478d1a4b3b3c29c5feab44c744386cfabd1adbc..d1dc912b2414524a66a490f033e7f7edf2ad4595 100644 (file)
@@ -138,9 +138,9 @@ void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data)
                 */
 #ifdef OPENSSL_FIPS
                unsigned long *ia32cap_ptr = OPENSSL_ia32cap_loc();
-               if (ia32cap_ptr && (*ia32cap_ptr & (1<<28))) {
+               if (ia32cap_ptr && (*ia32cap_ptr & (1<<20))) {
 #else
-               if (OPENSSL_ia32cap_P & (1<<28)) {
+               if (OPENSSL_ia32cap_P & (1<<20)) {
 #endif
                        unsigned char *cp=(unsigned char *)d;