Author: Philip Jenvey <pjen...@underboss.org> Branch: Changeset: r92425:a18e6d50eca1 Date: 2017-09-20 10:26 -0700 http://bitbucket.org/pypy/pypy/changeset/a18e6d50eca1/
Log: fix memory leak in _get_crl_dp see https://github.com/python/cpython/commit/b2b00e0 diff --git a/pypy/module/_ssl/interp_ssl.py b/pypy/module/_ssl/interp_ssl.py --- a/pypy/module/_ssl/interp_ssl.py +++ b/pypy/module/_ssl/interp_ssl.py @@ -996,9 +996,6 @@ libssl_AUTHORITY_INFO_ACCESS_free(info) def _get_crl_dp(space, certificate): - if OPENSSL_VERSION_NUMBER >= 0x10001000: - # Calls x509v3_cache_extensions and sets up crldp - libssl_X509_check_ca(certificate) dps = rffi.cast(stack_st_DIST_POINT, libssl_X509_get_ext_d2i( certificate, NID_crl_distribution_points, None, None)) if not dps: @@ -1020,8 +1017,7 @@ s_uri = rffi.charpsize2str(uri.c_data, length) cdp_w.append(space.newtext(s_uri)) finally: - if OPENSSL_VERSION_NUMBER < 0x10001000: - libssl_sk_DIST_POINT_free(dps) + libssl_CRL_DIST_POINTS_free(dps) return space.newtuple(cdp_w[:]) def checkwait(space, w_sock, writing): diff --git a/rpython/rlib/ropenssl.py b/rpython/rlib/ropenssl.py --- a/rpython/rlib/ropenssl.py +++ b/rpython/rlib/ropenssl.py @@ -473,6 +473,7 @@ ssl_external('sk_ACCESS_DESCRIPTION_value', [AUTHORITY_INFO_ACCESS, rffi.INT], ACCESS_DESCRIPTION, macro=True) ssl_external('AUTHORITY_INFO_ACCESS_free', [AUTHORITY_INFO_ACCESS], lltype.Void) +ssl_external('CRL_DIST_POINTS_free', [stack_st_DIST_POINT], lltype.Void) ssl_external('GENERAL_NAME_print', [BIO, GENERAL_NAME], rffi.INT) ssl_external('pypy_GENERAL_NAME_dirn', [GENERAL_NAME], X509_NAME, _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit