diff --git a/fips/fips.c b/fips/fips.c index 4f0f64cb838f3ba395e6fbca2bce9524f3c877de..169652b4b3a008e3b279ea1f0ee4e230fe3f1b35 100644 --- a/fips/fips.c +++ b/fips/fips.c @@ -316,7 +316,7 @@ int FIPS_module_mode_set(int onoff, const char *auth) #ifdef OPENSSL_IA32_SSE2 { - unsigned int OPENSSL_ia32cap_P[]; + extern unsigned int OPENSSL_ia32cap_P[2]; if ((OPENSSL_ia32cap_P[0] & (1<<25|1<<26)) != (1<<25|1<<26)) { FIPSerr(FIPS_F_FIPS_MODULE_MODE_SET,FIPS_R_UNSUPPORTED_PLATFORM); @@ -325,7 +325,7 @@ int FIPS_module_mode_set(int onoff, const char *auth) goto end; } OPENSSL_ia32cap_P[0] |= (1<<28); /* set "shared cache" */ - OPENSSL_ia32cap_P[1] &= ~(1<<60); /* clear AVX */ + OPENSSL_ia32cap_P[1] &= ~(1<<(60-32)); /* clear AVX */ } #endif