diff options
-rw-r--r-- | Misc/NEWS.d/next/Core and Builtins/2019-03-19-15-46-42.bpo-36374.EWKMZE.rst | 2 | ||||
-rw-r--r-- | Python/compile.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-03-19-15-46-42.bpo-36374.EWKMZE.rst b/Misc/NEWS.d/next/Core and Builtins/2019-03-19-15-46-42.bpo-36374.EWKMZE.rst new file mode 100644 index 0000000000..2eac301368 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2019-03-19-15-46-42.bpo-36374.EWKMZE.rst @@ -0,0 +1,2 @@ +Fix a possible null pointer dereference in ``merge_consts_recursive()``. +Patch by Zackery Spytz. diff --git a/Python/compile.c b/Python/compile.c index 697833752b..3656a7e00e 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -1210,7 +1210,7 @@ merge_consts_recursive(struct compiler *c, PyObject *o) PyObject *t = PyDict_SetDefault(c->c_const_cache, key, key); if (t != key) { // o is registered in c_const_cache. Just use it. - Py_INCREF(t); + Py_XINCREF(t); Py_DECREF(key); return t; } |