Message159709
Indeed, Objects/unicodeobject.c (default branch) has this, at around line 13839:
if ((prec*10) / 10 != prec) {
PyErr_SetString(PyExc_ValueError,
"prec too big");
goto onError;
}
... which since 'prec' has type int, will invoke undefined behaviour. There are probably many other cases like this one.
Serhiy, what platform are you on? And are you applying any special compile-time flags? For gcc, we should be using -fwrapv, which in this case should make the above code work as intended. |
|
Date |
User |
Action |
Args |
2012-04-30 17:16:23 | mark.dickinson | set | recipients:
+ mark.dickinson, eric.smith, r.david.murray, serhiy.storchaka |
2012-04-30 17:16:23 | mark.dickinson | set | messageid: <1335806183.53.0.810659725193.issue14700@psf.upfronthosting.co.za> |
2012-04-30 17:16:22 | mark.dickinson | link | issue14700 messages |
2012-04-30 17:16:22 | mark.dickinson | create | |
|