Issue #15989: Fix possible integer overflow in str formatting as in unicode formatting.

This commit is contained in:
Serhiy Storchaka 2013-01-19 23:35:46 +02:00
parent 6b78bffa20
commit 926f3a37de
1 changed files with 6 additions and 2 deletions

View File

@ -4355,7 +4355,9 @@ PyString_Format(PyObject *format, PyObject *args)
"* wants int");
goto error;
}
width = PyInt_AsLong(v);
width = PyInt_AsSsize_t(v);
if (width == -1 && PyErr_Occurred())
goto error;
if (width < 0) {
flags |= F_LJUST;
width = -width;
@ -4392,7 +4394,9 @@ PyString_Format(PyObject *format, PyObject *args)
"* wants int");
goto error;
}
prec = PyInt_AsLong(v);
prec = _PyInt_AsInt(v);
if (prec == -1 && PyErr_Occurred())
goto error;
if (prec < 0)
prec = 0;
if (--fmtcnt >= 0)