crypto/sparcv9cap.c: fix overstep in getisax.
authorAndy Polyakov <appro@openssl.org>
Thu, 4 Aug 2016 19:06:53 +0000 (21:06 +0200)
committerAndy Polyakov <appro@openssl.org>
Thu, 11 Aug 2016 11:46:06 +0000 (13:46 +0200)
Problem was introduced in 299ccadcdb99001c618d188fb243c1caaaa86a1c
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>
crypto/sparcv9cap.c

index 92841ce76a3a8c6bc4d77e91f6c8a08bef7f5973..093c5ebc0b9d5624f054cd7e27175621cf4da82e 100644 (file)
@@ -164,9 +164,9 @@ void OPENSSL_cpuid_setup(void)
 
 #if defined(__sun) && defined(__SVR4)
     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]&0x00040) OPENSSL_sparcv9cap_P[0] |= SPARCV9_VIS2;
             if (vec[0]&0x00080) OPENSSL_sparcv9cap_P[0] |= SPARCV9_BLK;