From a78bfe198565e25148b57a58fc5bec01ada8f6ab Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Fri, 14 Feb 1997 16:35:10 +0000 Subject: [PATCH] Issue a more meaningful error if strftime keeps returning a NULL pointer. Run the loop up to and including 8k. --- Modules/timemodule.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Modules/timemodule.c b/Modules/timemodule.c index b9f0c49a058..1f5593366b3 100644 --- a/Modules/timemodule.c +++ b/Modules/timemodule.c @@ -242,7 +242,7 @@ time_strftime(self, args) /* I hate these functions that presume you know how big the output * will be ahead of time... */ - for (i = 1024 ; i < 8192 ; i += 1024) { + for (i = 1024 ; i <= 8192 ; i += 1024) { outbuf = malloc(i); if (outbuf == NULL) { return PyErr_NoMemory(); @@ -255,7 +255,9 @@ time_strftime(self, args) } free(outbuf); } - return PyErr_NoMemory(); + PyErr_SetString(PyExc_ValueError, + "bad strftime format or result too big"); + return NULL; } #endif /* HAVE_STRFTIME */ @@ -443,6 +445,7 @@ floatsleep(double secs) double secs; #endif /* MPW */ { +/* XXX Should test for MS_WIN32 first! */ #ifdef HAVE_SELECT struct timeval t; double frac;