[pypy-issue] Issue #2615: This looks like a thread-safety bug causing memory corruption in pypy 3 ssl (pypy/pypy)
issues-reply at bitbucket.org
Sun Jul 23 02:08:54 EDT 2017
New issue 2615: This looks like a thread-safety bug causing memory corruption in pypy 3 ssl
Filing on behalf of @yuvipanda, who's having some trouble with bitbucket...
The traceback here:
seems to indicate that occasionally, pypy 3's `SSLSocket.getpeercert` method is returning a corrupted string like `10.0.0.1\x005.1` for one of the subjectAltName fields, instead of the correct `10.0.0.1`.
Given that symptom, and that it's observed to happen occasionally when running a stress-test that uses threads, I would suspect some sort of data race happening inside `lib_pypy/_cffi_ssl/_stdssl/certificate.py:_get_peer_alt_names`.
That function seems to use a bunch of OpenSSL functions whose docs say things like "The returned pointer is an internal value which must not be freed up."...
More information about the pypy-issue