Commit 62633f3b authored by Jesus Cea's avatar Jesus Cea

Closes #15793: Stack corruption in ssl.RAND_egd()

parent ece02371
...@@ -103,12 +103,8 @@ class BasicSocketTests(unittest.TestCase): ...@@ -103,12 +103,8 @@ class BasicSocketTests(unittest.TestCase):
sys.stdout.write("\n RAND_status is %d (%s)\n" sys.stdout.write("\n RAND_status is %d (%s)\n"
% (v, (v and "sufficient randomness") or % (v, (v and "sufficient randomness") or
"insufficient randomness")) "insufficient randomness"))
try: self.assertRaises(TypeError, ssl.RAND_egd, 1)
ssl.RAND_egd(1) self.assertRaises(TypeError, ssl.RAND_egd, 'foo', 1)
except TypeError:
pass
else:
print("didn't raise TypeError")
ssl.RAND_add("this is a random string", 75.0) ssl.RAND_add("this is a random string", 75.0)
def test_parse_cert(self): def test_parse_cert(self):
......
...@@ -154,6 +154,9 @@ Library ...@@ -154,6 +154,9 @@ Library
- Issue #13579: string.Formatter now understands the 'a' conversion specifier. - Issue #13579: string.Formatter now understands the 'a' conversion specifier.
- Issue #15793: Stack corruption in ssl.RAND_egd().
Patch by Serhiy Storchaka.
- Issue #15595: Fix subprocess.Popen(universal_newlines=True) - Issue #15595: Fix subprocess.Popen(universal_newlines=True)
for certain locales (utf-16 and utf-32 family). Patch by Chris Jerdonek. for certain locales (utf-16 and utf-32 family). Patch by Chris Jerdonek.
......
...@@ -1917,7 +1917,7 @@ PySSL_RAND_egd(PyObject *self, PyObject *args) ...@@ -1917,7 +1917,7 @@ PySSL_RAND_egd(PyObject *self, PyObject *args)
PyObject *path; PyObject *path;
int bytes; int bytes;
if (!PyArg_ParseTuple(args, "O&|i:RAND_egd", if (!PyArg_ParseTuple(args, "O&:RAND_egd",
PyUnicode_FSConverter, &path)) PyUnicode_FSConverter, &path))
return NULL; return NULL;
......
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