Issue #9693 - msg 115273: attempt to fix ssl module failures on certain OpenSSL versions by calling ERR_clear_error() before raising IOError
diff --git a/Modules/_ssl.c b/Modules/_ssl.c
index 0008691..7874c24 100644
--- a/Modules/_ssl.c
+++ b/Modules/_ssl.c
@@ -1603,6 +1603,7 @@
     PySSL_END_ALLOW_THREADS
     if (r != 1) {
         if (errno != 0) {
+            ERR_clear_error();
             PyErr_SetFromErrno(PyExc_IOError);
         }
         else {
@@ -1619,6 +1620,7 @@
     Py_XDECREF(certfile_bytes);
     if (r != 1) {
         if (errno != 0) {
+            ERR_clear_error();
             PyErr_SetFromErrno(PyExc_IOError);
         }
         else {
@@ -1686,6 +1688,7 @@
     Py_XDECREF(capath_bytes);
     if (r != 1) {
         if (errno != 0) {
+            ERR_clear_error();
             PyErr_SetFromErrno(PyExc_IOError);
         }
         else {