mirror of https://github.com/python/cpython
Issue a more meaningful error if strftime keeps returning a NULL pointer.
Run the loop up to and including 8k.
This commit is contained in:
parent
0d85be19e2
commit
a78bfe1985
|
@ -242,7 +242,7 @@ time_strftime(self, args)
|
||||||
/* I hate these functions that presume you know how big the output
|
/* I hate these functions that presume you know how big the output
|
||||||
* will be ahead of time...
|
* will be ahead of time...
|
||||||
*/
|
*/
|
||||||
for (i = 1024 ; i < 8192 ; i += 1024) {
|
for (i = 1024 ; i <= 8192 ; i += 1024) {
|
||||||
outbuf = malloc(i);
|
outbuf = malloc(i);
|
||||||
if (outbuf == NULL) {
|
if (outbuf == NULL) {
|
||||||
return PyErr_NoMemory();
|
return PyErr_NoMemory();
|
||||||
|
@ -255,7 +255,9 @@ time_strftime(self, args)
|
||||||
}
|
}
|
||||||
free(outbuf);
|
free(outbuf);
|
||||||
}
|
}
|
||||||
return PyErr_NoMemory();
|
PyErr_SetString(PyExc_ValueError,
|
||||||
|
"bad strftime format or result too big");
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
#endif /* HAVE_STRFTIME */
|
#endif /* HAVE_STRFTIME */
|
||||||
|
|
||||||
|
@ -443,6 +445,7 @@ floatsleep(double secs)
|
||||||
double secs;
|
double secs;
|
||||||
#endif /* MPW */
|
#endif /* MPW */
|
||||||
{
|
{
|
||||||
|
/* XXX Should test for MS_WIN32 first! */
|
||||||
#ifdef HAVE_SELECT
|
#ifdef HAVE_SELECT
|
||||||
struct timeval t;
|
struct timeval t;
|
||||||
double frac;
|
double frac;
|
||||||
|
|
Loading…
Reference in New Issue