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 Decorater, martin.panter, serhiy.storchaka, xiang.zhang, ztane
Date 2016-07-14.10:54:05
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1468493645.56.0.396805570483.issue27507@psf.upfronthosting.co.za>
In-reply-to
Content
Thanks for the analysis Antti. I don't think if (len == PY_SSIZE_T_MAX) can be moved inside the *other* if. Their handlings are different. if (len == PY_SSIZE_T_MAX) is True, it should exit immediately. But in the *other* if, you can still have a try to allocate PY_SSIZE_T_MAX memory. 

As for your overflow macro, I think it's not very useful. First, not only Py_ssize_t can overflow, all signed types can. So a single SUM_OVERFLOWS_PY_SSIZE_T is not enough. Second, current overflow check pattern like a > PY_SSIZE_T_MAX - b is very obvious in my opinion.
History
Date User Action Args
2016-07-14 10:54:05xiang.zhangsetrecipients: + xiang.zhang, martin.panter, serhiy.storchaka, ztane, Decorater
2016-07-14 10:54:05xiang.zhangsetmessageid: <1468493645.56.0.396805570483.issue27507@psf.upfronthosting.co.za>
2016-07-14 10:54:05xiang.zhanglinkissue27507 messages
2016-07-14 10:54:05xiang.zhangcreate