[Python-checkins] cpython (merge 3.1 -> 3.2): Merge from 3.1

senthil.kumaran python-checkins at python.org
Wed Apr 6 08:16:36 CEST 2011


http://hg.python.org/cpython/rev/1accc17055c9
changeset: 69167:1accc17055c9
branch: 3.2
parent: 69163:76180cc853b6
parent: 69166:2ca1bc677a60
user: Senthil Kumaran <orsenthil at gmail.com>
date: Wed Apr 06 14:11:09 2011 +0800
summary:
 Merge from 3.1
files:
 Lib/test/test_time.py | 8 ++++++++
 Modules/timemodule.c | 2 +-
 2 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py
--- a/Lib/test/test_time.py
+++ b/Lib/test/test_time.py
@@ -3,6 +3,7 @@
 import unittest
 import locale
 import sysconfig
+import sys
 import warnings
 
 class TimeTestCase(unittest.TestCase):
@@ -39,6 +40,13 @@
 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).
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -512,7 +512,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;
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /