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 xiang.zhang
Recipients jonathanunderwood, r.david.murray, serhiy.storchaka, xiang.zhang
Date 2018-02-08.06:30:20
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1518071420.25.0.467229070634.issue32431@psf.upfronthosting.co.za>
In-reply-to
Content
In my mind I don't think here is any problem. The code

val = PyBytes_FromStringAndSize (NULL, 20);
Py_SIZE(val) = 0;

doesn't create a zero length bytes object. A resizing I think should always means reorganizing the internal representation, including changing the size attribute. Using Py_SIZE won't trigger a full resizing. The code is not resizing but just breaks the internal representation and then leads to bugs. In C level, if you want, it's easy to muck Python objects. And exposing that much implementation details in documentation seems unnecessary.
History
Date User Action Args
2018-02-08 06:30:20xiang.zhangsetrecipients: + xiang.zhang, r.david.murray, serhiy.storchaka, jonathanunderwood
2018-02-08 06:30:20xiang.zhangsetmessageid: <1518071420.25.0.467229070634.issue32431@psf.upfronthosting.co.za>
2018-02-08 06:30:20xiang.zhanglinkissue32431 messages
2018-02-08 06:30:20xiang.zhangcreate