Ok, there was a need for OPENSSL_cleanse() instead of bzero() to prevent
authormiod <miod@openbsd.org>
Thu, 17 Apr 2014 18:16:45 +0000 (18:16 +0000)
committermiod <miod@openbsd.org>
Thu, 17 Apr 2014 18:16:45 +0000 (18:16 +0000)
commit71a94becd57c2fb84d531dc50aa1f1a4031889cf
treeb46b9baaec5e4d4adfc0966aadc109f273be7a42
parent9bf7ad97da0fa385ad72c22f3987923bd5f9a9b8
Ok, there was a need for OPENSSL_cleanse() instead of bzero() to prevent
supposedly smart compilers from optimizing memory cleanups away. Understood.

Ok, in case of an hypothetically super smart compiler, OPENSSL_cleanse() had
to be convoluted enough for the compiler not to recognize that this was
actually bzero() in disguise. Understood.

But then why there had been optimized assembler versions of OPENSSL_cleanse()
is beyond me. Did someone not trust the C obfuscation?
19 files changed:
lib/libcrypto/alphacpuid.pl
lib/libcrypto/armv4cpuid.S
lib/libcrypto/crypto/Makefile
lib/libcrypto/ia64cpuid.S
lib/libcrypto/pariscid.pl
lib/libcrypto/ppccpuid.pl
lib/libcrypto/s390xcpuid.S
lib/libcrypto/sparccpuid.S
lib/libcrypto/x86_64cpuid.pl
lib/libcrypto/x86cpuid.pl
lib/libssl/src/crypto/alphacpuid.pl
lib/libssl/src/crypto/armv4cpuid.S
lib/libssl/src/crypto/ia64cpuid.S
lib/libssl/src/crypto/pariscid.pl
lib/libssl/src/crypto/ppccpuid.pl
lib/libssl/src/crypto/s390xcpuid.S
lib/libssl/src/crypto/sparccpuid.S
lib/libssl/src/crypto/x86_64cpuid.pl
lib/libssl/src/crypto/x86cpuid.pl