Nick Coghlan <ncogh...@gmail.com> added the comment:

I'm still not comfortable with a convention that relies on *clients* of the PEP 
3118 API not mucking with the internals of the Py_buffer struct.

I'm *much* happier with the rule based on malloc/free semantics where the 
*pointer* passed to PyObject_GetBuffer must match a single later call to 
PyObject_ReleaseBuffer. This is also a convention that should be quite familiar 
to any C/C++ developers using the API directly.

Note my comment earlier, pointing out that under those rules, dup_buffer 
actually does the right thing given the way it is used in the current 
implementation, but there's one current bug (issue 9990) where the wrong 
address is passed to the release buffer call - get_buffer is called with a 
stack address, the contents are copied to a heap address, then the heap address 
is used in the release_buffer call.

----------

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

Reply via email to