diff options
author | David Benjamin <davidben@google.com> | 2018-05-20 17:24:30 -0400 |
---|---|---|
committer | David Benjamin <davidben@google.com> | 2018-05-23 17:34:54 -0400 |
commit | 2de108dfa343c3e06eb98beb122cd06306bb12fd (patch) | |
tree | 3e49b8444a3c29a076eac36a126b77d7891d2f5b /crypto/ec/ec_curve.c | |
parent | e363534cfe0ae01503dde6963e0631ec5f7fef3f (diff) |
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)
Diffstat (limited to 'crypto/ec/ec_curve.c')
0 files changed, 0 insertions, 0 deletions