Message270400
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. |
|
Date |
User |
Action |
Args |
2016-07-14 10:54:05 | xiang.zhang | set | recipients:
+ xiang.zhang, martin.panter, serhiy.storchaka, ztane, Decorater |
2016-07-14 10:54:05 | xiang.zhang | set | messageid: <1468493645.56.0.396805570483.issue27507@psf.upfronthosting.co.za> |
2016-07-14 10:54:05 | xiang.zhang | link | issue27507 messages |
2016-07-14 10:54:05 | xiang.zhang | create | |
|