diff options
Diffstat (limited to 'src/OpenSSL/crypto.py')
-rw-r--r-- | src/OpenSSL/crypto.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/OpenSSL/crypto.py b/src/OpenSSL/crypto.py index 7bb0cfa..4b86b95 100644 --- a/src/OpenSSL/crypto.py +++ b/src/OpenSSL/crypto.py @@ -2523,13 +2523,15 @@ class _PassphraseHelper(object): ) def raise_if_problem(self, exceptionType=Error): - try: - _exception_from_error_queue(exceptionType) - except exceptionType as e: - from_queue = e if self._problems: - raise self._problems[0] - return from_queue + + # Flush the OpenSSL error queue + try: + _exception_from_error_queue(exceptionType) + except exceptionType: + pass + + raise self._problems.pop(0) def _read_passphrase(self, buf, size, rwflag, userdata): try: |