diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2020-11-21 19:17:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-21 19:17:46 +0200 |
commit | ed1007c0d74e658d1e6c9b51b12ce7501eb8cbf9 (patch) | |
tree | f08fd4467c282ea4b1cd1894ecac1039f7cc7d25 /Objects | |
parent | bpo-42232: mmap module add Darwin specific madvise options. (GH-23076) (diff) | |
download | cpython-ed1007c0d74e658d1e6c9b51b12ce7501eb8cbf9.tar.gz cpython-ed1007c0d74e658d1e6c9b51b12ce7501eb8cbf9.tar.bz2 cpython-ed1007c0d74e658d1e6c9b51b12ce7501eb8cbf9.zip |
bpo-42425: Fix possible leak in initialization of errmap for OSError (GH-23446)
Diffstat (limited to 'Objects')
-rw-r--r-- | Objects/exceptions.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Objects/exceptions.c b/Objects/exceptions.c index b14da20db0c..d4824938a0f 100644 --- a/Objects/exceptions.c +++ b/Objects/exceptions.c @@ -2547,8 +2547,10 @@ _PyExc_Init(PyThreadState *tstate) do { \ PyObject *_code = PyLong_FromLong(CODE); \ assert(_PyObject_RealIsSubclass(PyExc_ ## TYPE, PyExc_OSError)); \ - if (!_code || PyDict_SetItem(state->errnomap, _code, PyExc_ ## TYPE)) \ + if (!_code || PyDict_SetItem(state->errnomap, _code, PyExc_ ## TYPE)) { \ + Py_XDECREF(_code); \ return _PyStatus_ERR("errmap insertion problem."); \ + } \ Py_DECREF(_code); \ } while (0) |