From: Zackery Spytz Date: Wed, 8 Jul 2020 04:21:58 +0000 (-0600) Subject: closes bpo-41235: Fix the error handling in SSLContext.load_dh_params() (GH-21385) X-Git-Tag: v3.10.0a1~424 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=aebc0495572c5bb85d2bd97d27cf93ab038b5a6a;p=thirdparty%2FPython%2Fcpython.git closes bpo-41235: Fix the error handling in SSLContext.load_dh_params() (GH-21385) --- diff --git a/Misc/NEWS.d/next/Library/2020-07-07-21-56-26.bpo-41235.H2csMU.rst b/Misc/NEWS.d/next/Library/2020-07-07-21-56-26.bpo-41235.H2csMU.rst new file mode 100644 index 000000000000..c55275bb1c62 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2020-07-07-21-56-26.bpo-41235.H2csMU.rst @@ -0,0 +1 @@ +Fix the error handling in :meth:`ssl.SSLContext.load_dh_params`. diff --git a/Modules/_ssl.c b/Modules/_ssl.c index 5e82fe41a76e..58064178a1a3 100644 --- a/Modules/_ssl.c +++ b/Modules/_ssl.c @@ -4309,8 +4309,10 @@ _ssl__SSLContext_load_dh_params(PySSLContext *self, PyObject *filepath) } return NULL; } - if (SSL_CTX_set_tmp_dh(self->ctx, dh) == 0) - _setSSLError(NULL, 0, __FILE__, __LINE__); + if (!SSL_CTX_set_tmp_dh(self->ctx, dh)) { + DH_free(dh); + return _setSSLError(NULL, 0, __FILE__, __LINE__); + } DH_free(dh); Py_RETURN_NONE; }