This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author kermode
Recipients kermode
Date 2010-09-29.19:03:36
SpamBayes Score 8.594744e-06
Marked as misclassified No
Message-id <1285787018.03.0.476755592717.issue9990@psf.upfronthosting.co.za>
In-reply-to
Content
If an exporter returns a Py_buffer with ndim 1, PyMemoryView_FromObject changes the shape and strides pointer fields to point to a local Py_buffer array field. This array field is undocumented. Any heap memory these pointers reference is lost. Should the exporter's bf_releasebuffer later try and free the memory, the Python interpreter may segfault.

Attached is a demonstration program. Its output is:

Accessing buffer directly...
Accessing buffer through a memory view...
* View->shape has changed.
Done.

where the third line shows bf_releasebuffer has detected a changed pointer.
History
Date User Action Args
2010-09-29 19:03:38kermodesetrecipients: + kermode
2010-09-29 19:03:38kermodesetmessageid: <1285787018.03.0.476755592717.issue9990@psf.upfronthosting.co.za>
2010-09-29 19:03:36kermodelinkissue9990 messages
2010-09-29 19:03:36kermodecreate