diff options
author | Oren Milman <orenmn@gmail.com> | 2017-09-14 19:30:28 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2017-09-14 19:30:27 (GMT) |
commit | 0b3a87ef54a0112b74e8a1d8c6f87d10db4239ab (patch) | |
tree | 626fd137e6154d665e7b0fe8e17360ad78d2ef84 /Modules/_winapi.c | |
parent | f350a268a7071ce7d7a5bb86a9b1229782d4963b (diff) | |
download | cpython-0b3a87ef54a0112b74e8a1d8c6f87d10db4239ab.zip cpython-0b3a87ef54a0112b74e8a1d8c6f87d10db4239ab.tar.gz cpython-0b3a87ef54a0112b74e8a1d8c6f87d10db4239ab.tar.bz2 |
bpo-31471: Fix assertion failure in subprocess.Popen() on Windows, in case env has a bad keys() method. (#3580)
Diffstat (limited to 'Modules/_winapi.c')
-rw-r--r-- | Modules/_winapi.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Modules/_winapi.c b/Modules/_winapi.c index a81ccaf..00a26d51 100644 --- a/Modules/_winapi.c +++ b/Modules/_winapi.c @@ -723,9 +723,13 @@ getenvironment(PyObject* environment) } keys = PyMapping_Keys(environment); + if (!keys) { + return NULL; + } values = PyMapping_Values(environment); - if (!keys || !values) + if (!values) { goto error; + } envsize = PySequence_Fast_GET_SIZE(keys); if (PySequence_Fast_GET_SIZE(values) != envsize) { |