summaryrefslogtreecommitdiff
path: root/Cython/Compiler/ModuleNode.py
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2018-05-25 19:58:59 +0200
committerStefan Behnel <stefan_ml@behnel.de>2018-05-25 19:58:59 +0200
commit1e62cf7956df7a5a1529664c974dc4cb10aab86c (patch)
tree9ecb07cf35d9ca44eaf07d2efdbe997f3215fe1f /Cython/Compiler/ModuleNode.py
parentd1b7e9af1ce24d1d37f30914769a2cd0a7c63728 (diff)
downloadcython-1e62cf7956df7a5a1529664c974dc4cb10aab86c.tar.gz
Avoid a dangling pointer in the global "__pyx_m" variable while decrefing it.
Diffstat (limited to 'Cython/Compiler/ModuleNode.py')
-rw-r--r--Cython/Compiler/ModuleNode.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py
index dd07118ec..d36c83972 100644
--- a/Cython/Compiler/ModuleNode.py
+++ b/Cython/Compiler/ModuleNode.py
@@ -2466,7 +2466,7 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
# user code in atexit or other global registries.
##code.put_decref_clear(env.module_dict_cname, py_object_type, nanny=False)
code.putln('}')
- code.put_decref_clear(env.module_cname, py_object_type, nanny=False)
+ code.put_decref_clear(env.module_cname, py_object_type, nanny=False, clear_before_decref=True)
code.putln('} else if (!PyErr_Occurred()) {')
code.putln('PyErr_SetString(PyExc_ImportError, "init %s");' % env.qualified_name)
code.putln('}')