Martin Panter added the comment:

On further thought, I think releasing the buffer would not be the best 
long-term solution. I encountered this bug when wrapping custom 
AuditableBytesIO objects (Lib/test/test_httpservers.py) with BufferedWriter, 
where the raw object just saves each write() buffer in a list for later use.

Serhiy: what you say sounds like what I had in mind, except I suspect it 
doesn’t matter whether the memoryview is backed by a bytes object or something 
else. The main point is we allocate a new buffer if the old one is still 
referenced by the memoryview.

It seems this problem has already been discovered, along with BufferedReader 
and PyUnicode_Decode(): <https://bugs.python.org/issue15903#msg170642>. The 
BufferedReader case can have more serious consequences because it is writable 
(Issue 15994).

----------

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

Reply via email to