STINNER Victor <vstin...@python.org> added the comment:

PyObject_AsCharBuffer() is dangerous: it returns a dangling pointer by design. 
PyObject_GetBuffer() design is safer: the API ensures that the buffer remains 
valid until PyBuffer_Release() is called.

PyQt5 was updated to use the safe PyObject_GetBuffer()/PyBuffer_Release(). 
PyQt4 is no longer updated, that's why I proposed a downstream fix which 
copy/paste the old code. Changing PyQt4 to use the safe API was not worth it, 
since it's complex to redesign the impacted function qpycore_encode().

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue41103>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to