提交 f91926a2 编写于 作者: A Andy Polyakov

cryptlib.c: fix logical error.

上级 9282c335
...@@ -152,13 +152,16 @@ void OPENSSL_cpuid_setup(void) ...@@ -152,13 +152,16 @@ void OPENSSL_cpuid_setup(void)
if (!sscanf(env+off,"%lli",(long long *)&vec)) vec = strtoul(env+off,NULL,0); if (!sscanf(env+off,"%lli",(long long *)&vec)) vec = strtoul(env+off,NULL,0);
#endif #endif
if (off) vec = OPENSSL_ia32_cpuid(OPENSSL_ia32cap_P)&~vec; if (off) vec = OPENSSL_ia32_cpuid(OPENSSL_ia32cap_P)&~vec;
else if (env[0]==':') vec = OPENSSL_ia32_cpuid(OPENSSL_ia32cap_P);
OPENSSL_ia32cap_P[2] = 0; OPENSSL_ia32cap_P[2] = 0;
if ((env=strchr(env,':'))) { if ((env=strchr(env,':'))) {
off = (env[1]=='~')?2:1; unsigned int vecx;
vec = strtoul(env+off,NULL,0); env++;
if (off>1) OPENSSL_ia32cap_P[2] &= ~vec; off = (env[0]=='~')?1:0;
else OPENSSL_ia32cap_P[2] = vec; vecx = strtoul(env+off,NULL,0);
if (off) OPENSSL_ia32cap_P[2] &= ~vecx;
else OPENSSL_ia32cap_P[2] = vecx;
} }
} }
else else
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册