mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-11 09:20:01 -04:00
Do not remove errors from the OpenSSL error queue in toresult()
dst__openssl_toresult3() first calls toresult() and subsequently uses ERR_get_error_line_data() in a loop. Given this, it is a mistake to use ERR_get_error() in toresult() because it causes the retrieved error to be removed from the OpenSSL error queue, thus preventing it from being retrieved by the subsequent ERR_get_error_line_data() calls. Fix by using ERR_peek_error() instead of ERR_get_error() in toresult().
This commit is contained in:
parent
527614c750
commit
fe20f8fe25
1 changed files with 1 additions and 1 deletions
|
|
@ -270,7 +270,7 @@ dst__openssl_destroy(void) {
|
|||
static isc_result_t
|
||||
toresult(isc_result_t fallback) {
|
||||
isc_result_t result = fallback;
|
||||
unsigned long err = ERR_get_error();
|
||||
unsigned long err = ERR_peek_error();
|
||||
#if defined(ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED)
|
||||
int lib = ERR_GET_LIB(err);
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in a new issue