# HG changeset patch # User Matti Picus <matti.picus@gmail.com> # Date 1671200980 -7200 # Fri Dec 16 16:29:40 2022 +0200 # Branch py3.8 # Node ID fc863116b2ecb2a379b86b4959377150e16feb1b # Parent 0cf2f9c83544fc04ca3c6b234a3fed60e3d00246 fix using wrong free in _ssl (issue 3871) diff --git a/lib_pypy/_cffi_ssl/_stdssl/certificate.py b/lib_pypy/_cffi_ssl/_stdssl/certificate.py --- a/lib_pypy/_cffi_ssl/_stdssl/certificate.py +++ b/lib_pypy/_cffi_ssl/_stdssl/certificate.py @@ -30,7 +30,7 @@ if (info == ffi.NULL): return None; if lib.sk_ACCESS_DESCRIPTION_num(info) == 0: - lib.sk_ACCESS_DESCRIPTION_free(info) + lib.AUTHORITY_INFO_ACCESS_free(info) return None lst = [] @@ -44,7 +44,7 @@ uri = ad.location.d.uniformResourceIdentifier ostr = _str_with_len(uri.data, uri.length) lst.append(ostr) - lib.sk_ACCESS_DESCRIPTION_free(info) + lib.AUTHORITY_INFO_ACCESS_free(info) # convert to tuple or None if len(lst) == 0: return None @@ -266,7 +266,7 @@ for i in range(count): dp = lib.sk_DIST_POINT_value(dps, i); if not dp.distpoint: - return None + continue gns = dp.distpoint.name.fullname; jcount = lib.sk_GENERAL_NAME_num(gns) @@ -279,8 +279,7 @@ ouri = _str_with_len(uri.data, uri.length) lst.append(ouri) - if lib.OPENSSL_VERSION_NUMBER < 0x10001000: - lib.sk_DIST_POINT_free(dps); + lib.CRL_DIST_POINTS_free(dps); if len(lst) == 0: return None return tuple(lst)