diff options
author | Benoit Hudson <benoit@imgspc.com> | 2019-12-06 19:15:03 (GMT) |
---|---|---|
committer | Victor Stinner <vstinner@python.org> | 2019-12-06 19:15:03 (GMT) |
commit | 723f71abf7ab0a7be394f9f7b2daa9ecdf6fb1eb (patch) | |
tree | ab89f9828245437a062c18bd46b04b29cc60a603 /Misc | |
parent | e76ee1a72b9e3f5da287663ea3daec4bb3f67612 (diff) | |
download | cpython-723f71abf7ab0a7be394f9f7b2daa9ecdf6fb1eb.zip cpython-723f71abf7ab0a7be394f9f7b2daa9ecdf6fb1eb.tar.gz cpython-723f71abf7ab0a7be394f9f7b2daa9ecdf6fb1eb.tar.bz2 |
bpo-37931: Fix crash on OSX re-initializing os.environ (GH-15428)
On most platforms, the `environ` symbol is accessible everywhere.
In a dylib on OSX, it's not easily accessible, you need to find it with
_NSGetEnviron.
The code was caching the *value* of environ. But a setenv() can change the value,
leaving garbage at the old value. Fix: don't cache the value of environ, just
read it every time.
Diffstat (limited to 'Misc')
-rw-r--r-- | Misc/ACKS | 1 | ||||
-rw-r--r-- | Misc/NEWS.d/next/macOS/2019-08-23-12-14-34.bpo-37931.goYgQj.rst | 3 |
2 files changed, 4 insertions, 0 deletions
@@ -733,6 +733,7 @@ Miro Hrončok Chiu-Hsiang Hsu Chih-Hao Huang Christian Hudon +Benoît Hudson Lawrence Hudson Michael Hudson Jim Hugunin diff --git a/Misc/NEWS.d/next/macOS/2019-08-23-12-14-34.bpo-37931.goYgQj.rst b/Misc/NEWS.d/next/macOS/2019-08-23-12-14-34.bpo-37931.goYgQj.rst new file mode 100644 index 0000000..45b54e8 --- /dev/null +++ b/Misc/NEWS.d/next/macOS/2019-08-23-12-14-34.bpo-37931.goYgQj.rst @@ -0,0 +1,3 @@ +Fixed a crash on OSX dynamic builds that occurred when re-initializing the +posix module after a Py_Finalize if the environment had changed since the +previous `import posix`. Patch by Benoît Hudson. |