]> git.ipfire.org Git - thirdparty/bind9.git/commit
Do not remove errors from the OpenSSL error queue in toresult()
authorMichał Kępień <michal@isc.org>
Tue, 14 Aug 2018 10:49:19 +0000 (12:49 +0200)
committerMichał Kępień <michal@isc.org>
Tue, 14 Aug 2018 10:49:19 +0000 (12:49 +0200)
commitfe20f8fe25ef06646f4b68b5565ce35f209b59ee
treecfd8699809b4f50a4e0699628db50223d62d15a0
parent527614c7507ee8f32508a4c05e8c8f66c56b6dc5
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().
lib/dns/openssl_link.c