Kaydet (Commit) 97869103 authored tarafından Victor Stinner's avatar Victor Stinner

Close #12015: The tempfile module now uses a suffix of 8 random characters

instead of 6, to reduce the risk of filename collision. The entropy was reduced
when uppercase letters were removed from the charset used to generate random
characters.
üst 0c7907dd
......@@ -125,7 +125,7 @@ class _RandomNameSequence:
def __next__(self):
c = self.characters
choose = self.rng.choice
letters = [choose(c) for dummy in "123456"]
letters = [choose(c) for dummy in range(8)]
return ''.join(letters)
def _candidate_tempdir_list():
......
......@@ -35,7 +35,7 @@ else:
# Common functionality.
class BaseTestCase(unittest.TestCase):
str_check = re.compile(r"[a-zA-Z0-9_-]{6}$")
str_check = re.compile(r"^[a-z0-9_-]{8}$")
def setUp(self):
self._warnings_manager = support.check_warnings()
......@@ -62,7 +62,7 @@ class BaseTestCase(unittest.TestCase):
nbase = nbase[len(pre):len(nbase)-len(suf)]
self.assertTrue(self.str_check.match(nbase),
"random string '%s' does not match /^[a-zA-Z0-9_-]{6}$/"
"random string '%s' does not match ^[a-z0-9_-]{8}$"
% nbase)
......
......@@ -28,6 +28,11 @@ Core and Builtins
Library
-------
- Issue #12015: The tempfile module now uses a suffix of 8 random characters
instead of 6, to reduce the risk of filename collision. The entropy was
reduced when uppercase letters were removed from the charset used to generate
random characters.
- Issue #18585: Add :func:`textwrap.shorten` to collapse and truncate a
piece of text to a given length.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment