summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_time.py
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@microsoft.com>2015-09-07 05:31:26 (GMT)
committerSteve Dower <steve.dower@microsoft.com>2015-09-07 05:31:26 (GMT)
commit45fd95155fb98021dad3c88db15ebe4e939577bf (patch)
tree4950b34540ccdc6faa75dce7c5a72cff083ec3e5 /Lib/test/test_time.py
parent1b8be1fbe5554ff7d145fd7596b07940249ee53f (diff)
parenteeeff706e51fa51ce6227f32e4c00025344ee7df (diff)
downloadcpython-45fd95155fb98021dad3c88db15ebe4e939577bf.zip
cpython-45fd95155fb98021dad3c88db15ebe4e939577bf.tar.gz
cpython-45fd95155fb98021dad3c88db15ebe4e939577bf.tar.bz2
Merge from 3.5
Diffstat (limited to 'Lib/test/test_time.py')
-rw-r--r--Lib/test/test_time.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py
index 75ab666..d68dc4f 100644
--- a/Lib/test/test_time.py
+++ b/Lib/test/test_time.py
@@ -177,6 +177,19 @@ class TimeTestCase(unittest.TestCase):
def test_strftime_bounding_check(self):
self._bounds_checking(lambda tup: time.strftime('', tup))
+ def test_strftime_format_check(self):
+ # Test that strftime does not crash on invalid format strings
+ # that may trigger a buffer overread. When not triggered,
+ # strftime may succeed or raise ValueError depending on
+ # the platform.
+ for x in [ '', 'A', '%A', '%AA' ]:
+ for y in range(0x0, 0x10):
+ for z in [ '%', 'A%', 'AA%', '%A%', 'A%A%', '%#' ]:
+ try:
+ time.strftime(x * y + z)
+ except ValueError:
+ pass
+
def test_default_values_for_zero(self):
# Make sure that using all zeros uses the proper default
# values. No test for daylight savings since strftime() does