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

cryptlib.c: fix logical error.

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