crypto/sparcv9cap.c: fix overstep in getisax.

Problem was introduced in 299ccadcdb
as future extension, i.e. at this point it wasn't an actual problem,
because uninitialized capability bit was not actually used.

Reviewed-by: Tim Hudson <tjh@openssl.org>
This commit is contained in:
Andy Polyakov 2016-08-04 21:06:53 +02:00
parent 7123aa81e9
commit a5a95f8d65

View file

@ -164,9 +164,9 @@ void OPENSSL_cpuid_setup(void)
#if defined(__sun) && defined(__SVR4) #if defined(__sun) && defined(__SVR4)
if (getisax != NULL) { if (getisax != NULL) {
unsigned int vec[1]; unsigned int vec[2] = { 0, 0 };
if (getisax (vec,1)) { if (getisax (vec,2)) {
if (vec[0]&0x00020) OPENSSL_sparcv9cap_P[0] |= SPARCV9_VIS1; if (vec[0]&0x00020) OPENSSL_sparcv9cap_P[0] |= SPARCV9_VIS1;
if (vec[0]&0x00040) OPENSSL_sparcv9cap_P[0] |= SPARCV9_VIS2; if (vec[0]&0x00040) OPENSSL_sparcv9cap_P[0] |= SPARCV9_VIS2;
if (vec[0]&0x00080) OPENSSL_sparcv9cap_P[0] |= SPARCV9_BLK; if (vec[0]&0x00080) OPENSSL_sparcv9cap_P[0] |= SPARCV9_BLK;