Merge branch 'OpenSSL_1_0_1-stable' of /home/steve/src/git/openssl into OpenSSL_1_0_1...
[oweals/openssl.git] / crypto / cryptlib.c
index 615bcebec476b2e4ee9a214f4a2ccff6c68ddecf..a7cb4202e863530efa38e66c3a3f887471cc2eac 100644 (file)
@@ -504,7 +504,7 @@ void CRYPTO_THREADID_current(CRYPTO_THREADID *id)
        CRYPTO_THREADID_set_numeric(id, (unsigned long)find_thread(NULL));
 #else
        /* For everything else, default to using the address of 'errno' */
-       CRYPTO_THREADID_set_pointer(id, &errno);
+       CRYPTO_THREADID_set_pointer(id, (void*)&errno);
 #endif
        }
 
@@ -698,12 +698,13 @@ void OPENSSL_cpuid_setup(void)
 #if defined(_WIN32)
        if (!sscanf(env+off,"%I64i",&vec)) vec = strtoul(env+off,NULL,0);
 #else
-       vec = strtoull(env+off,NULL,0);
+       if (!sscanf(env+off,"%lli",(long long *)&vec)) vec = strtoul(env+off,NULL,0);
 #endif
        if (off) vec = OPENSSL_ia32_cpuid()&~vec;
     }
     else
        vec = OPENSSL_ia32_cpuid();
+
     /*
      * |(1<<10) sets a reserved bit to signal that variable
      * was initialized already... This is to avoid interference