New issue 2615: This looks like a thread-safety bug causing memory corruption 
in pypy 3 ssl
https://bitbucket.org/pypy/pypy/issues/2615/this-looks-like-a-thread-safety-bug

Nathaniel Smith:

Filing on behalf of @yuvipanda, who's having some trouble with bitbucket...

The traceback here:
    https://github.com/kubernetes-client/python-base/issues/23
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."...


_______________________________________________
pypy-issue mailing list
pypy-issue@python.org
https://mail.python.org/mailman/listinfo/pypy-issue

Reply via email to