diff -r 6e541ed4e987 Objects/unicodeobject.c --- a/Objects/unicodeobject.c Mon Apr 30 19:11:11 2012 +0300 +++ b/Objects/unicodeobject.c Mon Apr 30 20:42:31 2012 +0300 @@ -13799,7 +13799,7 @@ c = PyUnicode_READ(fmtkind, fmt, fmtpos++); if (c < '0' || c > '9') break; - if ((width*10) / 10 != width) { + if (width >= PY_SSIZE_T_MAX / 10) { PyErr_SetString(PyExc_ValueError, "width too big"); goto onError; @@ -13834,7 +13834,7 @@ c = PyUnicode_READ(fmtkind, fmt, fmtpos++); if (c < '0' || c > '9') break; - if ((prec*10) / 10 != prec) { + if (prec >= INT_MAX / 10) { PyErr_SetString(PyExc_ValueError, "prec too big"); goto onError;