Message117644
| 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:38 | kermode | set | recipients:
+ kermode |
| 2010年09月29日 19:03:38 | kermode | set | messageid: <1285787018.03.0.476755592717.issue9990@psf.upfronthosting.co.za> |
| 2010年09月29日 19:03:36 | kermode | link | issue9990 messages |
| 2010年09月29日 19:03:36 | kermode | create |
|