diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2016-09-28 04:53:32 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2016-09-28 04:53:32 (GMT) |
commit | e9e44484a51d4caab2a28c883dccb7321828abde (patch) | |
tree | a038f8ab6be7663a89cd09839fbb75593bffe7d1 /Objects/exceptions.c | |
parent | 2e8c939e3d8103cd4f236754764858cb23342ab3 (diff) | |
download | cpython-e9e44484a51d4caab2a28c883dccb7321828abde.zip cpython-e9e44484a51d4caab2a28c883dccb7321828abde.tar.gz cpython-e9e44484a51d4caab2a28c883dccb7321828abde.tar.bz2 |
Issue #28289: ImportError.__init__ now resets not specified attributes.
Diffstat (limited to 'Objects/exceptions.c')
-rw-r--r-- | Objects/exceptions.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/Objects/exceptions.c b/Objects/exceptions.c index f63f06a..bc0264a 100644 --- a/Objects/exceptions.c +++ b/Objects/exceptions.c @@ -631,19 +631,17 @@ ImportError_init(PyImportErrorObject *self, PyObject *args, PyObject *kwds) } Py_DECREF(empty_tuple); - if (name) { - Py_INCREF(name); - Py_XSETREF(self->name, name); - } - if (path) { - Py_INCREF(path); - Py_XSETREF(self->path, path); - } + Py_XINCREF(name); + Py_XSETREF(self->name, name); + + Py_XINCREF(path); + Py_XSETREF(self->path, path); + if (PyTuple_GET_SIZE(args) == 1) { msg = PyTuple_GET_ITEM(args, 0); Py_INCREF(msg); - Py_XSETREF(self->msg, msg); } + Py_XSETREF(self->msg, msg); return 0; } |