merge from 3.2
This commit is contained in:
commit
736975a771
|
@ -3,6 +3,7 @@ import time
|
|||
import unittest
|
||||
import locale
|
||||
import sysconfig
|
||||
import sys
|
||||
import warnings
|
||||
|
||||
class TimeTestCase(unittest.TestCase):
|
||||
|
@ -39,6 +40,13 @@ class TimeTestCase(unittest.TestCase):
|
|||
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.
|
||||
if sys.platform.startswith('win'):
|
||||
with self.assertRaises(ValueError):
|
||||
time.strftime('%f')
|
||||
|
||||
def _bounds_checking(self, func=time.strftime):
|
||||
# Make sure that strftime() checks the bounds of the various parts
|
||||
#of the time tuple (0 is valid for *all* values).
|
||||
|
|
|
@ -512,7 +512,7 @@ time_strftime(PyObject *self, PyObject *args)
|
|||
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;
|
||||
|
|
Loading…
Reference in New Issue