openssl/crypto
David Benjamin 2de108dfa3 Save and restore the Windows error around TlsGetValue.
TlsGetValue clears the last error even on success, so that callers may
distinguish it successfully returning NULL or failing. This error-mangling
behavior interferes with the caller's use of GetLastError. In particular
SSL_get_error queries the error queue to determine whether the caller should
look at the OS's errors. To avoid destroying state, save and restore the
Windows error.

Fixes #6299.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6316)
2018-05-23 17:34:54 -04:00
..
aes PPC assembly pack: add POWER9 results. 2018-05-10 11:44:21 +02:00
aria Fix potential null problem. 2017-09-01 09:30:18 +10:00
asn1 Limit scope of CN name constraints 2018-05-23 11:12:13 -04:00
async Update copyright year 2018-05-01 13:34:30 +01:00
bf Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
bio Use void in all function definitions that do not take any arguments 2018-05-11 14:37:48 +02:00
blake2 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
bn Make BN_GF2m_mod_arr more constant time 2018-05-17 16:57:11 +01:00
buffer Update copyright year 2018-04-03 13:57:12 +01:00
camellia Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
cast Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
chacha PPC assembly pack: add POWER9 results. 2018-05-10 11:44:21 +02:00
cmac Update copyright year 2018-04-17 15:18:40 +02:00
cms Fix a mem leak in CMS 2018-05-08 08:43:39 +01:00
comp Fix last(?) batch of malloc-NULL places 2018-04-26 14:02:24 -04:00
conf Use void in all function definitions that do not take any arguments 2018-05-11 14:37:48 +02:00
ct Use void in all function definitions that do not take any arguments 2018-05-11 14:37:48 +02:00
des Update copyright year 2018-04-03 13:57:12 +01:00
dh DH: add simple getters for commonly used DH struct members 2018-05-18 08:53:48 +02:00
dsa Update copyright year 2018-04-17 15:18:40 +02:00
dso openssl#5668: corrections after compiling with -qinfo=all:als. 2018-04-14 13:28:31 +02:00
ec Use OPENSSL_EC_EXPLICIT_CURVE constant. 2018-05-23 17:32:41 -04:00
engine Use void in all function definitions that do not take any arguments 2018-05-11 14:37:48 +02:00
err a_strex.c: prevent out of bound read in do_buf() 2018-05-02 20:36:21 +02:00
evp Update copyright year 2018-04-17 15:18:40 +02:00
hmac Update copyright year 2018-04-17 15:18:40 +02:00
idea Remove parentheses of return. 2017-10-18 16:05:06 +01:00
include/internal Limit scope of CN name constraints 2018-05-23 11:12:13 -04:00
kdf Update copyright year 2018-04-17 15:18:40 +02:00
lhash Update copyright year 2018-05-01 13:34:30 +01:00
md2 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
md4 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
md5 Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
mdc2 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
modes PPC assembly pack: add POWER9 results. 2018-05-10 11:44:21 +02:00
objects Add missing error code when alloc-return-null 2018-04-26 12:27:46 -04:00
ocsp Update copyright year 2018-02-13 13:59:25 +00:00
pem In cases where we ask PEM_def_callback for minimum 0 length, accept 0 length 2018-05-12 10:19:51 +02:00
perlasm Copyright update of more files that have changed this year 2018-01-19 13:34:03 +01:00
pkcs7 Update copyright year 2018-03-20 13:08:46 +00:00
pkcs12 Update copyright year 2018-05-01 13:34:30 +01:00
poly1305 Use void in all function definitions that do not take any arguments 2018-05-11 14:37:48 +02:00
rand Use void in all function definitions that do not take any arguments 2018-05-11 14:37:48 +02:00
rc2 Remove email addresses from source code. 2017-10-13 10:06:59 -04:00
rc4 Update copyright year 2018-03-20 13:08:46 +00:00
rc5 Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
ripemd Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
rsa Update copyright year 2018-04-17 15:18:40 +02:00
seed
sha PPC assembly pack: add POWER9 results. 2018-05-10 11:44:21 +02:00
siphash Update copyright year 2018-04-17 15:18:40 +02:00
sm2 [SM2_sign] fix double free and return value 2018-04-25 10:24:43 +01:00
sm3 SM3: restructure to EVP internal and update doc to right location 2017-11-06 07:21:15 +08:00
sm4 SM4: Add SM4 block cipher to EVP 2017-10-31 15:19:14 +10:00
srp Fix a memory leak in an error path 2018-04-17 17:26:16 +01:00
stack Fix last(?) batch of malloc-NULL places 2018-04-26 14:02:24 -04:00
store Use void in all function definitions that do not take any arguments 2018-05-11 14:37:48 +02:00
ts Use void in all function definitions that do not take any arguments 2018-05-11 14:37:48 +02:00
txt_db Update copyright year 2018-04-03 13:57:12 +01:00
ui UI console: Restore tty settings, do not force ECHO after prompt 2018-05-14 11:00:23 +02:00
whrlpool Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
x509 Skip CN DNS name constraint checks when not needed 2018-05-23 11:12:17 -04:00
x509v3 Skip CN DNS name constraint checks when not needed 2018-05-23 11:12:17 -04:00
alphacpuid.pl
arm64cpuid.pl Update copyright year 2018-02-13 13:59:25 +00:00
arm_arch.h Fix building linux-armv4 with --strict-warnings 2018-04-20 15:49:33 +02:00
armcap.c crypto/armcap.c: mask SHA512 hardware detection on iOS. 2018-03-06 23:18:24 +01:00
armv4cpuid.pl Update copyright year 2018-05-01 13:34:30 +01:00
build.info Remove import/use of File::Spec::Function 2018-04-01 22:41:04 +02:00
c64xpluscpuid.pl Many spelling fixes/typo's corrected. 2017-11-11 19:03:10 -05:00
cpt_err.c Fix last(?) batch of malloc-NULL places 2018-04-26 14:02:24 -04:00
cryptlib.c Enabled OneCore Conf for Console Apps (removed nonUniversal API) 2018-04-03 18:39:22 +02:00
ctype.c Check for EOF in ASCII conversions. 2017-08-25 06:42:17 +10:00
cversion.c Fix SOURCE_DATE_EPOCH bug; use UTC 2017-11-27 14:34:14 -05:00
dllmain.c Remove parentheses of return. 2017-10-18 16:05:06 +01:00
ebcdic.c Remove email addresses from source code. 2017-10-13 10:06:59 -04:00
ex_data.c Ensure the thread keys are always allocated in the same order 2018-04-20 15:45:06 +02:00
ia64cpuid.S Fix typo in files in crypto folder 2017-08-05 20:42:06 +02:00
init.c Fix memleaks in async api 2018-04-26 18:39:51 +02:00
LPdir_nyi.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
LPdir_unix.c Adjust LPdir_unix.c on VMS for OpenSSL expectations 2018-03-12 23:01:02 +01:00
LPdir_vms.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
LPdir_win.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
LPdir_win32.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
LPdir_wince.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
mem.c Avoid unconditional store in CRYPTO_malloc. 2018-03-06 13:21:49 -05:00
mem_clr.c
mem_dbg.c Update copyright year 2018-02-13 13:59:25 +00:00
mem_sec.c Use void in all function definitions that do not take any arguments 2018-05-11 14:37:48 +02:00
mips_arch.h
o_dir.c Move e_os.h to be the very first include. 2017-08-30 07:20:44 +10:00
o_fips.c Clean up references to FIPS 2017-02-28 15:26:25 +01:00
o_fopen.c Set error code on alloc failures 2018-04-03 11:31:16 -04:00
o_init.c Use "" not <> on e_os.h include 2017-08-22 11:07:56 -04:00
o_str.c Revert "GH614: Use memcpy()/strdup() when possible" 2017-09-14 10:26:54 +10:00
o_time.c Update copyright year 2018-04-03 13:57:12 +01:00
pariscid.pl Update copyright year 2018-04-03 13:57:12 +01:00
ppc_arch.h
ppccap.c Fix --strict-warnings build of ppc-linux target 2018-05-08 15:14:27 +02:00
ppccpuid.pl
s390x_arch.h s390x assembly pack: add KMF code path for aes-cfb/cfb8 2018-03-28 23:31:01 +02:00
s390xcap.c s390x assembly pack: extend s390x capability vector. 2017-10-30 14:31:32 +01:00
s390xcpuid.pl s390x assembly pack: add KMF code path for aes-cfb/cfb8 2018-03-28 23:31:01 +02:00
sparc_arch.h
sparccpuid.S Clean up references to FIPS 2017-02-28 15:26:25 +01:00
sparcv9cap.c Create a prototype for OPENSSL_rdtsc 2017-11-25 14:30:11 +01:00
threads_none.c Update copyright year 2018-04-17 15:18:40 +02:00
threads_pthread.c Update copyright year 2018-04-17 15:18:40 +02:00
threads_win.c Save and restore the Windows error around TlsGetValue. 2018-05-23 17:34:54 -04:00
uid.c Cleaning UEFI Build with additional OPENSSL_SYS_UEFI flags 2017-03-29 07:35:59 +02:00
vms_rms.h
x86_64cpuid.pl Fix issues in ia32 RDRAND asm leading to reduced entropy 2018-03-08 10:27:49 -05:00
x86cpuid.pl Fix issues in ia32 RDRAND asm leading to reduced entropy 2018-03-08 10:27:49 -05:00