diff -r 8e074d9b1587 Lib/test/test_time.py --- a/Lib/test/test_time.py Wed Mar 30 11:54:13 2011 +0000 +++ b/Lib/test/test_time.py Sat Apr 02 17:42:23 2011 -0700 @@ -37,6 +37,12 @@ except ValueError: self.fail('conversion specifier: %r failed.' % format) + # Issue #10762: Guard against invalid/non-supported format string + # so that Python don't crash (Windows crashes when the format string + # input to [w]strftime is not kosher. + with self.assertRaises(ValueError): + time.strftime('%f') + def test_strftime_bounds_checking(self): # Make sure that strftime() checks the bounds of the various parts #of the time tuple (0 is valid for *all* values). diff -r 8e074d9b1587 Modules/timemodule.c --- a/Modules/timemodule.c Wed Mar 30 11:54:13 2011 +0000 +++ b/Modules/timemodule.c Sat Apr 02 17:42:23 2011 -0700 @@ -549,7 +549,7 @@ if (outbuf[1]=='#') ++outbuf; /* not documented by python, */ if (outbuf[1]=='\0' || - !wcschr(L"aAbBcdfHIjmMpSUwWxXyYzZ%", outbuf[1])) + !wcschr(L"aAbBcdHIjmMpSUwWxXyYzZ%", outbuf[1])) { PyErr_SetString(PyExc_ValueError, "Invalid format string"); return 0;